1 图形化信号处理工具,fdatool(滤波器设计),fvtool(图形化滤波器参数查看)sptool(信号处理),fvtool(b,a),wintool窗函数设计.或者使用工具箱 filter design设计。
当使用离散的福利叶变换方法分析频域中的信号时,傅里叶变换时可能引起漏谱,因此 需要采用平滑窗,
2数字滤波器和采样频率的关系。
如果一个数字滤波器的采样率为 FS,那么这个滤波器的分析带宽为Fs/2。也就是说这 个滤波器只可以分析[0,Fs/2]的信号.举个例字:
有两个信号,S1频率为20KHz,S2频率为40KHz,要通过数字方法滤除S2。
你的滤波器的采样率至少要为Fs=80HKz,否则就分析不到 S2了,更不可能将它滤掉 了!(当然根据采样定理,你的采样率 F0也必须大于80HK,,Fs和 F0之间没关系不大,可 以任取,只要满足上述关系就行。)
3 两组数据的相关性分析 r=corrcoef(x,y) 4 expm 求矩阵的整体的 exp
4 离散快速傅里叶 fft信号处理中,傅里叶变换的典型用途是将信号分解成幅值分量和频 率分量)。Ft为连续傅里叶变换。反傅里叶 ifft 5 ztrans(),Z变换是把离散的数字信号从时域转为频率
6 laplace()拉普拉斯变换是把连续的的信号从时域转为频域 7 sound(x)会在音响里产生 x所对应的声音 8 norm求范数,det行列式,rank求秩
9 模拟频率,数字频率,模拟角频率关系
模拟频率f:每秒经历多少个周期,单位Hz,即1/s; 模拟角频率 Ω是指每秒经历多少弧度,单位rad/s; 数字频率w:每个采样点间隔之间的弧度,单位rad。 Ω=2pi*f; w = Ω*T
10 RMS求法
Rms = sqrt(sum(P.^2))或者norm(x)/sqrt(length(x) var方差的开方是std标准差, RMS应该是norm(x)/sqrt(length(x))吧. 求矩阵的RMS:std(A(:)) 11 ftshift 作用:将零频点移到频谱的中间
12 filtfilt零相位滤波,
采用两次滤波消除系统的非线性相位,
y = filtfilt(b,a,x);注意x的长度必须是滤波器阶数的3倍以上,滤波器的
阶数由max(length(b)-1,length(a)-1)确定。
13 [h,t]=impz(b,a,n,fs),计算滤波器的冲激响应 h为n点冲击响应向量
[h,x]=freqz(b,a,n,fs)计算频响,有fs时,x为频率f,无fs,x为w角频率,
常用于查看滤波器的频率特性
14 zplane(z,p) 画图零极点分布图
15 beta=unwarp(alpha) 相位会在穿越+-180发生回绕,可将回绕的 16 stepz 求数字滤波器的阶跃响应 [h,t] = stepz(b,a,n,fs)
fvtool(b1,a1,b2,a2,...bn,an) fvtool(Hd1,Hd2,...) h = fvtool(...)
15 IIR数字滤波器设计方法
1 先根据已知带同参数求出最佳滤波器阶数和截止频率 [n,Wn] = buttord(Wp,Ws,Rp,Rs); [n,Wn] = buttord(Wp,Ws,Rp,Rs,'s') [b,a]=butter(n,Wn,’ftype’,’s’)
其中Wp为,0-1之间。Ws为阻带角频率,0-1之间。Rp为通带波纹,或者通带衰 减,Rs为阻带衰减。
若果给出的是模拟频率fp1通带截止频率,fp2阻带截止频率,则Wp=fp1*2/fs, Ws=fp2*2/fs.如果给出的是实际数字频率比如0.3*pi, 如果给出的是
y=filter(b,a,x);或者采用零相位滤波y=filtfilt(b,a,x)
15 传统 FIR滤波器
Ftype为滤波器类型,比如高通,低通,window为窗函数类型。
Window—窗函数。
例子1 设计一个通带滤波器,带宽为 0.35-0.65 b = fir1(48,[0.35 0.65]); freqz(b,1,512)
16窗函数长度:窗函数的长度应等于 FIR滤波器系数个数,即滤波器阶数n+1。
17 加窗函数的 FIR滤波器长度的确定
17.1 buttord函数求出最佳滤波器阶数和截止频率,然后用 fir1函数调用,窗函数长度 为滤波器最佳阶数 n+1
17.2 用窗函数方法设计 FIR滤波器,由滤波器的过渡带的宽度和选择的窗函数决定 这里举一个选用海明窗函数设计低通滤波器的例子。 低通滤波器的设计要求是:采样频率为100Hz,通带截至频率为 3 Hz,阻带截止频率为 5 Hz, 通带内最大衰减不高于0.5 dB,阻带最小衰减不小于50 dB。使用海明窗函数。确定 N的 步骤有:
1,从上表可查得海明窗的精确过渡带宽为 6.6pi/N;(在有些书中用近似过渡带来计算, 这当然没有错,但阶数增大了,相应也增加计算量。)
2,本低通滤波器的过渡带是: DeltaW=Ws-Wp=(5-3)*pi/50=.04pi3,N=6.6pi/DeltaW=6.6pi /0.04pi=165
所以滤波器 的阶数至少是165。在该帖子中是用理想低通滤波器的方法来计算的,这里用 fir1函数来计算,相应的程序有 fs=100; % 采样频率
wp = 3*pi/50; ws = 5*pi/50;
deltaw= ws - wp; % 过渡带宽 Δω的计算
N = ceil(6.6*pi/ deltaw) + 1; % 按海明窗计算所需的滤波器阶数 N0 wdham = (hamming(N+1))'; % 海明窗计算 Wn=(3+5)/100; % 计算截止频率 b=fir1(N,Wn,wdham); [H,w]=freqz(b,1); db=20*log10(abs(H)); % 画频响曲线
plot(w*fs/(2*pi),db);title(' 幅度响应(单位: dB)');grid
axis([0 50 -100 10]); xlabel('频率(单位:Hz)'); ylabel('分贝') set(gca,'XTickMode','manual','XTick',[0,3,5,50]) set(gca,'YTickMode','manual','YTick',[-50,0])
17 数字滤波器函数 Butter,cheyshev切比雪夫
[b,a]=cheby1(n,rp,wn,options), [b,a]=besself(n,wn,options)
[b,a]=ellip((n,rp,rs,wn,options) n为阶数,wn为截止频率rad/s,rs
为阻带起伏.wn在0-1之间,且1对应于采样频率的一半。 [b,a]=butter(n,Wn,options),
[z,p,k] = butter(n,Wn,'ftype','s') [z,p,k] = butter(n,Wn,'ftype')
A,B,C,D] = butter(n,Wn,'ftype','s') ‘ftype’对应
'high' 是高通滤波器的归一化截止频率 'low' 低通滤波器的归一化截止频率
'stop' for an order 2*n bandstop digital filter if Wn is a two-element
vector, Wn = [w1 w2]. The stopband is w1 < ω < w2.
21 窗函数
1 矩形窗: Window=boxcar(8); b=fir1(7,0.4,Window); freqz(b,1)
2 blackman窗: Window=blackman(8); b=fir1(7,0.4,Window); freqz(b,1)
3 hamming;4 hanning;5 kaiser
窗 函 数 第一旁瓣相对于主瓣衰减 /dB
主 瓣 宽 阻带最小衰减/dB 矩形窗 –13 4π/N 21 三角窗 –25 8π/N 25 汉宁窗 –31 8π/N 44 海明窗 –41 8π/N 53 布拉克曼 窗
–57 12π/N 74
凯塞窗 可调 可调 可调 切比雪夫 窗
可调 可调 可调
15.1 基于firpm 函数的最佳 fir滤波器设计 例子 f和 a长度相同,且长度为偶数
Graph the desired and actual frequency responses of a 17th-order Parks-McClellan
bandpass filter:
f = [0 0.3 0.4 0.6 0.7 1]; a = [0 0 1 1 0 0];
b = firpm(17,f,a);
[h,w] = freqz(b,1,512);
plot(f,a,w/pi,abs(h))
legend('Ideal','firpm Design')
15.2 最佳 FIR滤波器阶数估计 [n,fo,ao,w] = firpmord(f,a,dev)
[n,fo,ao,w] = firpmord(f,a,dev,fs)
例子2 设计一个最低阶低通滤波器通带截止频率500Hz,阻带截止频率6000Hz,采样率
2000Hz,通带波纹小于3dB,阻带衰减大于 40dB.
rp = 3; % Passband ripple
rs = 40; % Stopband ripple
fs = 2000; % Sampling frequency f = [500 600]; % Cutoff frequencies a = [1 0]; % Desired amplitudes
dev = [(10^(rp/20)-1)/(10^(rp/20)+1) 10^(-rs/20)]; [n,fo,ao,w] = firpmord(f,a,dev,fs); b = firpm(n,fo,ao,w); freqz(b,1,1024,fs);
18 y=resample(x,p,q) 数字信号中的重采样。 这时输出信号y的采样频率就 是x的p/q倍,其长度为length(x)*p/q
19 conv 卷积 deconv 反卷积 或者求多项式乘法。
xcorr互相关函数 cov协方差 fft2二维FFT fft2二维FFT逆变换
xcorr2 ,conv2 二维卷积
20 平滑滤波filter函数
首先要设计好滤波器,然后调用filter.平滑滤波似乎有些过时,butterworth才显得稍微