实验数字滤波器设计与软件实现汇总

上传人:枫** 文档编号:496015850 上传时间:2024-01-05 格式:DOC 页数:7 大小:155.50KB
返回 下载 相关 举报
实验数字滤波器设计与软件实现汇总_第1页
第1页 / 共7页
实验数字滤波器设计与软件实现汇总_第2页
第2页 / 共7页
实验数字滤波器设计与软件实现汇总_第3页
第3页 / 共7页
实验数字滤波器设计与软件实现汇总_第4页
第4页 / 共7页
实验数字滤波器设计与软件实现汇总_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《实验数字滤波器设计与软件实现汇总》由会员分享,可在线阅读,更多相关《实验数字滤波器设计与软件实现汇总(7页珍藏版)》请在金锄头文库上搜索。

1、信息院 14电信(师范) 实验五:FIR数字滤波器设计与软件实现一、实验指导1实验目的(1)掌握用窗函数法设计FIR数字滤波器的原理和方法。(2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。(3)掌握FIR滤波器的快速卷积实现原理。(4)学会调用MATLAB函数设计与实现FIR滤波器。2 实验内容及步骤(1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理;(2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图1所示;图1 具有加性噪声的信号x(t)及其频谱如图程序代码:(信号产生函数xtg程序清单)function xt=xtg

2、(N)%x(t),%xt=xtg(N) N,xt,Fs=1000Hz%fc=Fs/10=100Hz,f0=fc/10=10Hz.N=1000;Fs=1000;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;fc=Fs/10;f0=fc/10; %fc=Fs/10f0=Fc/10;mt=cos(2*pi*f0*t); %mtf0ct=cos(2*pi*fc*t); %ctfcxt=mt.*ct; %xtnt=2*rand(1,N)-1; %nt%=hn,nt,=fp=150; fs=200;Rp=0.1;As=70; % fb=fp,fs;m=0,1; % remezordf,m,dev

3、dev=10(-As/20),(10(Rp/20)-1)/(10(Rp/20)+1);n,fo,mo,W=remezord(fb,m,dev,Fs); % remezhn=remez(n,fo,mo,W); % remez,ntyt=filter(hn,1,10*nt); %yt%=xt=xt+yt; %fst=fft(xt,N);k=0:N-1;f=k/Tp;subplot(3,1,1);plot(t,xt);grid;xlabel(t/s);ylabel(x(t);axis(0,Tp/5,min(xt),max(xt);title(a) )subplot(3,1,2);plot(f,abs

4、(fst)/max(abs(fst);grid;title(b) )axis(0,Fs/2,0,1.2);xlabel(f/Hz);ylabel()输出波形:(3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。先观察xt的频谱,确定滤波器指标参数。(4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB函数fir1设计一个FIR低通滤波器。并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。(3)(4)的程序:% FIRc

5、lear all;close all;%=xtgxt, xtN=1000,xt,=N=1000;xt=xtg(N);fp=120; fs=150;Rp=0.2;As=60;Fs=1000; % % (1) wc=(fp+fs)/Fs; %(piB=2*pi*(fs-fp)/Fs; %Nb=ceil(11*pi/B); %blackmanNhn=fir1(Nb-1,wc,blackman(Nb);Hw=abs(fft(hn,1024); % ywt=fftfilt(hn,xt,N); %fftfiltxt%)f=0:1023*Fs/1024;figure(2)subplot(2,1,1)plot

6、(f,20*log10(Hw/max(Hw);grid;title(a) )axis(0,Fs/2,-120,20);xlabel(f/Hz);ylabel()t=0:N-1/Fs;Tp=N/Fs;subplot(2,1,2)plot(t,ywt);grid;axis(0,Tp/2,-1,1);xlabel(t/s);ylabel(y_w(t);title(b) )% (2) fb=fp,fs;m=1,0; % remezordf,m,devdev=(10(Rp/20)-1)/(10(Rp/20)+1),10(-As/20);Ne,fo,mo,W=remezord(fb,m,dev,Fs);

7、% remezhn=remez(Ne,fo,mo,W); % remezHw=abs(fft(hn,1024); % yet=fftfilt(hn,xt,N); % fftfiltxt%)figure(3);subplot(2,1,1)f=0:1023*Fs/1024;plot(f,20*log10(Hw/max(Hw);grid;title(c) )axis(0,Fs/2,-80,10);xlabel(f/Hz);ylabel()subplot(2,1,2);plot(t,yet);grid;axis(0,Tp/2,-1,1);xlabel(t/s);ylabel(y_e(t);title(

8、d) )(5)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MATLAB函数remezord和remez设计FIR数字滤波器。并比较两种设计方法设计的滤波器阶数。提示:MATLAB函数fir1的功能及其调用格式请查阅教材;采样频率Fs=1000Hz,采样周期T=1/Fs;根据图1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz,阻带截至频率fs=150Hz,换算成数字频率,通带截止频率,通带最大衰为0.1dB,阻带截至频率,阻带最小衰为60dB。实验程序框图如图2所示,供读者参考。Fs=1000,T=1/Fsxt=xtg产生信号xt, 并显示xt及其频谱用窗函数法

9、或等波纹最佳逼近法设计FIR滤波器hn对信号xt滤波:yt=fftfilt(hn,xt)1、计算并绘图显示滤波器损耗函数2、绘图显示滤波器输出信号ytEnd图2 实验程序框图4.思考题(1)如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计步骤.答:用窗函数法设计的滤波器,如果在阻带截止频率附近刚好满足,则离开阻带截止频率越远,阻带衰减富裕量越大,即存在资源浪费;(2)如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为和,阻带上、下截止频率为和,试求理想带通滤波器的截止频率。答:希望逼近的理想带通滤波器的截止频率分别为:几种常用的典型

10、窗函数的通带最大衰减和阻带最小衰减固定,且差别较大,又不能分别控制。所以设计的滤波器的通带最大衰减和阻带最小衰减通常都存在较大富裕。如本实验所选的blackman窗函数,其阻带最小衰减为74dB,而指标仅为60dB。(3)解释为什么对同样的技术指标,用等波纹最佳逼近法设计的滤波器阶数低?答: 用等波纹最佳逼近法设计的滤波器,其通带和阻带均为等波纹特性,且通带最大衰减和阻带最小衰减可以分别控制,所以其指标均匀分布,没有资源浪费,所以其阶数低得多。5.实验心得: 本次实验,我了解到如何使用窗函数法设计FIR滤波器,然后调用fftfilt函数对给定输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。通过运用MATLAB软件对所设计的FIR滤波器进行调试,观察其相位特性曲线,建立了线性相位相关概念。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号