Scilab 5.3.3
- Scilab help
- Signal Processing
- How to
- Signal
- analpf
- bilt
- buttmag
- casc
- cepstrum
- cheb1mag
- cheb2mag
- chepol
- convol
- corr
- cspect
- czt
- detrend
- dft
- ell1mag
- eqfir
- eqiir
- faurre
- ffilt
- fft
- fft2
- fftshift
- filt_sinc
- filter
- find_freq
- findm
- frfit
- frmag
- fsfirlin
- group
- hank
- hilb
- hilbert
- iir
- iirgroup
- iirlp
- intdec
- jmat
- kalm
- lattn
- lattp
- lev
- levin
- lindquist
- mese
- mfft
- mrfit
- %asn
- %k
- %sn
- phc
- pspect
- remez
- remezb
- rpem
- sincd
- srfaur
- srkf
- sskf
- syredi
- system
- trans
- wfir
- wiener
- wigner
- window
- yulewalk
- zpbutt
- zpch1
- zpch2
- zpell
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
remezb
振幅応答のミニマックス近似
呼び出し手順
[an]=remezb(nc,fg,ds,wt)
パラメータ
- nc
余弦関数の数
- fg
[0,.5)の範囲の周波数点のグリッド
- ds
グリッド
fg
の指定する振幅- wt
グリッド
fg
の誤差の重み関数- an
余弦フィルタ係数
説明
周波数領域振幅応答のミニマックス近似.
この近似は,n=0,1,...,ncとして
h = sum[a(n)*cos(wn)]
の形式となります.
以下のコマンドによりFIR, 線形位相フィルタを
関数の出力から得ることができます.
hn(1:nc-1)=an(nc:-1:2)/2; hn(nc)=an(1); hn(nc+1:2*nc-1)=an(2:nc)/2;
例
// Choose the number of cosine functions and create a dense grid // in [0,.24) and [.26,.5) nc=21;ngrid=nc*16; fg=.24*(0:ngrid/2-1)/(ngrid/2-1); fg(ngrid/2+1:ngrid)=fg(1:ngrid/2)+.26*ones(1:ngrid/2); // Specify a low pass filter magnitude for the desired response ds(1:ngrid/2)=ones(1:ngrid/2); ds(ngrid/2+1:ngrid)=zeros(1:ngrid/2); // Specify a uniform weighting function wt=ones(fg); // Run remezb an=remezb(nc,fg,ds,wt) // Make a linear phase FIR filter hn(1:nc-1)=an(nc:-1:2)/2; hn(nc)=an(1); hn(nc+1:2*nc-1)=an(2:nc)/2; // Plot the filter's magnitude response plot(.5*(0:255)/256,frmag(hn,256)); // Choose the number of cosine functions and create a dense grid in [0,.5) nc=21; ngrid=nc*16; fg=.5*(0:(ngrid-1))/ngrid; // Specify a triangular shaped magnitude for the desired response ds(1:ngrid/2)=(0:ngrid/2-1)/(ngrid/2-1); ds(ngrid/2+1:ngrid)=ds(ngrid/2:-1:1); // Specify a uniform weighting function wt=ones(fg); // Run remezb an=remezb(nc,fg,ds,wt) // Make a linear phase FIR filter hn(1:nc-1)=an(nc:-1:2)/2; hn(nc)=an(1); hn(nc+1:2*nc-1)=an(2:nc)/2; // Plot the filter's magnitude response plot(.5*(0:255)/256,frmag(hn,256));
参照
- eqfir — FIRフィルタのミニマックス近似
作者
C. B.
<< remez | Signal Processing | rpem >> |