matlab信号处理学习总结

2019-03-15 12:26

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才显得稍微


matlab信号处理学习总结.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《天鹅的故事》课堂实录

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: