离散信号内插和抽取Matlab,(精选)北京交通大学(数字信号处理研究生课程)ch7_2抽取与内插滤波器.ppt...

近代数字信号处理(AdvancedDigitalSignalProcessing),电子信息工程学院,,信号与图像处理研究室,,信号的内插与抽取抽取滤波器和内插滤波器多相分解半带滤波器两通道滤波器组,多速率信号处理基础,,抽取滤波器和内插滤波器,抽取滤波器抽取滤波的时域表示内插滤波器内插滤波器的时域表示Matlab计算抽样率变换,,抽取滤波器,可用理想低通滤波器滤除X(ejW)中的高频分量,但理想低通滤波器无法实现,抽取滤波器,若Wm/M为X(ejW)中需保留的最高频率分量,则可以有,抽取滤波器,更一般地,抽取滤波器的幅度响应可为,解:Wm=0.1pM=0.4p,通带为[0,0.1p]l=1时,要求的阻带为[(2p-0.4p)/4,(2p+0.4p)/4]=[0.4p,0.6p]l=2时,要求的阻带为[(4p-0.4p)/4,(4p+0.4p)/4]=[0.9p,1.1p]l=3时,要求的阻带为[(6p-0.4p)/4,(6p+0.4p)/4]=[1.4p,1.6p]综上所述,抽取滤波器阻带为[0.4p,0.6p],[0.9p,p]选滤波器的通带波动dp=0.01,阻带波动ds=0.001,例:设信号x[k]需保留的最高频率分量为0.1p,试设计M=4,等波纹FIR抽取滤波器。,,x=firls(511,[00.10.10.50.51],[111000]);f=[0.10.40.60.9];a=[100];dev=[0.010.0010.001];%设计滤波器[N,fo,ao,w]=remezord(f,a,dev);h=remez(N,fo,ao,w);xd=filter(h,[1],x);y=xd(1:4:end);w=linspace(0,pi,512);mag=freqz(h,[1],w);subplot(3,1,1);plot(w/pi,20*log10(abs(mag)));xlabel(Normalizedfrequency);ylabel(Gain,dB);X=freqz(x,[1],w);Y=freqz(y,[1],w);subplot(3,1,2);plot(w/pi,(abs(X)));xlabel(Normalizedfrequency);ylabel(magnitude);title(Spectrumofx);Subplot(3,1,3);plot(w/pi,abs(Y));xlabel(Normalizedfrequency);ylabel(magnitude);title(Spectrumofy);,抽取滤波的时域表示,,问题分析:16kHz系统播放抽样频率32kHz信号,抽样频率为32kHz的离散信号,播放系统输出的连续信号y(t)=x(t/2),连续信号,,问题解决:16kHz系统播放抽样频率32kHz信号,抽样频率为32kHz的离散信号,播放系统输出的连续信号y(t)=x(t),抽样频率为16kHz的离散信号,可用理想低通滤波器滤除XI(ejW)中的镜像分量,内插滤波器(interpolationfilter),若Wm为X(ejW)中的最高频率分量,则可以有,内插滤波器(interpolationfilter),内插滤波器的时域表示,利用Matlab计算抽样率变换,抽取y=decimate(x,M)用8阶ChebyshevI型IIR低通滤波器进行滤波。为保证零相位,对序列进行正向和反向滤波。N=255;x=firls(N,[00.250.250.50.51],[111000]);x1=x(1:4:end);x2=decimate(x,4);w=linspace(0,pi,512);X=freqz(x,[1],w);X1=freqz(x1,[1],w);X2=freqz(x2,[1],w);,利用Matlab计算抽样率变换,原信号x,3倍抽取后的信号x1,3倍抽取滤波后的信号x2,M=3;[x,Fs,bits]=wavread(myheart);x1=x(1:M:end);x2=decimate(x,M);,利用Matlab计算抽样率变换,(2)内插[y,h]=interp(x,L)使内插后的信号的均方误差最小来确定FIR滤波器。h:所用FIR的系数。,N=255;L=4;x=firls(N,[00.50.51],[1110]);x1=zeros(1,L*length(x));x1(1:L:end)=x;x2=interp(x,4);w=linspace(0,pi,512);X=freqz(x,[1],w);X1=freqz(x1,[1],w);X2=freqz(x2,[1],w);,利用Matlab计算抽样率变换,,抽样频率为8kHz的离散信号,播放系统输出的连续信号y(t)=x(2t),连续信号,问题分析:16kHz系统播放抽样频率8kHz信号,,问题解决:16kHz系统播放抽样频率8kHz信号,抽样频率为8kHz的离散信号,播放系统输出的连续信号y(t)=x(t),抽样频率为16kHz的离散信号,例:(分数倍抽样率变换)已知用4kHz抽样后的一序列x[k]的频谱如图所示,试用数字的方法得出按5kHz抽样后的序列y[k]。,,(3)分数倍抽样滤改变[y,h]=resample(x,L,M);L:内插的倍数M:抽样的倍数。,例:离散信号x[k]是由抽样频率为10Hz,试求出抽样频率为15Hz的序列y[k]。,f=0.35;N=40;fs=10;fs1=15;k=0:N-1;t=k/fs;k1=0:N*1.5-1;t1=k1/fs1;x=cos(2*pi*f*t);xr=cos(2*pi*f*t1);y=resample(x,3,2);subplot(3,1,3);stem(k1,abs(y-xr));title(error);,利用Matlab计算抽样率变换,,,问题延伸:16kHz系统播放抽样频率24kHz信号,播放系统输出的连续信号,抽样频率为24kHz的离散信号,连续信号,y(t)=x(2t/3),,,问题延伸:16kHz系统播放抽样频率24kHz信号,抽样频率为16kHz的离散信号,抽样频率为24kHz的离散信号,播放系统输出的连续信号y(t)=x(t),抽取FIR滤波器的分级设计,例:试设计M=30,dp=0.002,ds=0.001(60dB)的抽取FIR滤波器,fsam=12kHz。,解:选Wp=3p/100,Ws=p/30直接设计:由N=remezord([3/1001/30],[10],[0.0020.001])得FIR滤波器的阶数N=1827系统每秒的乘法数RM,H=(N+1)fsam/M=731200,,抽取FIR滤波器的分级设计,例:试设计M=30,dp=0.002,ds=0.001(60dB)的抽取FIR滤波器,fsam=12kHz。,解:,,分级设计,G(z)的指标:dp,G=dp/2=0.001,ds,G=ds=0.001,Wp,G=15Wp=45p/100,Ws,G=15Ws=p/2F(z)的指标:dp,F=dp/2=0.001,ds,F=ds=0.001,Wp,F=Wp=3p/100,Ws,F=(2p-15Ws)/15=3p/30G(z)的阶数Ng=130G(z)每秒的乘法数RM,G=131800/2=52400F(z)的阶数NF=93F(z)每秒的乘法数RM,F=9412000/15=75200RM,H/(RM,G+RM,F)5.73,

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值