matlab信号处理学习总结
- 格式:doc
- 大小:126.00 KB
- 文档页数:30
常用函数
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切比雪夫