信号处理与系统设计报告。
一、 设计题目及要求。
给定一个混有单频噪声的w**波形文件,设计一个滤波器,要求能很好的滤除掉单频噪声,并且对原声音信号的影响最小。这里仅仅要求fir滤波器用窗函数法,iir滤波器用butterworth实现。
二、 设计原理。
1)、iir数字滤波器的实现方法。
1、 把数字滤波器的相应指标换算成模拟滤波器的指标;这里要考虑两种情况,如如果用脉冲响应不变法不需要进行预畸变,但是如果用双线性变换法就必须预畸变。原因很简单,脉冲响应不变法是从s域到z域的一一映射,是线性的;双线性变换法是先对s域进行压缩,然后在映射至z域,因此是非线性的。脉冲响应不变法不能用来设计高通,带阻等非限带滤波器;
2、 根据模拟滤波器的指标,设计相应的模拟滤波器;
3、 将模拟滤波器的系数转化为数字滤波器的系数;
4、 如果不是低通,要先化成模拟低通滤波器的形式,最后转化成我们所需要的类型的滤波器。
5、 iir可以用butterworth和chebyshev两种方法实现,butterworth滤波器在整个范围内是平滑的,chebyshev1和chebyshev2一个通带有波纹,一个阻带有波纹。
2)、fir滤波器的实现方法。
1、给定理想的频率响应h及指标a
2、求出理想的单位抽样相应h
3、根据阻带衰减及过渡带宽决定用什么类型的窗函数及滤波的阶数n,阶数n要经过几次试探才能确定。
4、求所设计的fir滤波器的单位抽样相应h(n)=h (n)*w(n)
5、计算频率响应h(e),确定是否满足设计指标,若不满足,需要重新设计。
3)df的分析方法。
、主要用到离散信号时域与频域相互转化的傅立叶变换,主要要解决的就是频谱泄露,栅栏效应,以及怎样提高分辨率等问题。
要重点区别掌握的知识:信号的实际采样点数n,信号的补零之后的总的计算用的点数n1,单纯的补零,即实际采样点数n不变,只增加补零的个数,可以减小栅栏效应,并不能提高信号的分辨率;增加信号的实际采样点n,可以提高信号频域的分辨率。
、对于课程设计中给点夹有噪声的波形信号,由于其时间很长,必须对其进行分段计算,采用滑动窗fft法。
3、不同的的窗函数对滤波的影响很大,必须认真选择。
三、设计步骤。
一)、原始信号频谱的分析。
对于长时间的信号,分析频谱是要采用分段计算的方法;这里用一个matlab自带的函数specgram。dft的长度为n,窗函数的宽度r要小于n,窗之间还有有一定的叠加l,是为了所有输入信号都能参与运算及处理。l
这里有两点要注意的,一是窗函数的长度r的选取,二是窗函数类型的选取;
1、 我们先试着观察一下声音波形的频谱,取值及程序如下:
clear;
clc;close;
s,fs]=w**read(''读取波形文件。
sound(s,fs);
nwin=256 ; 窗函数的长度。
overlap=248; %窗与窗之间的距离。
nfft=256进行计算的数据点数。
figure(1);
subplot(1,2,1)
window=boxcar(nwin); 得到矩形窗向量。
specgram(s,nfft,fs,window,overlap); 画出声音信号的频谱。
title('矩形窗')
window1=hanning(nwin);
subplot(1,2,2)
specgram(s,nfft,fs,window1,overlap);
title('hanning窗')
运行结果:又矩形窗及汉宁窗的幅频特性如下所示:
可以看出矩形窗的主瓣宽度小于汉宁窗的主瓣宽度,加窗后的频谱也是前者的表示噪声的那根红线没有后者的粗,我们可以得到结论:窗函数的主瓣宽度越窄,用其设计的滤波器的过渡带宽就越窄;但是矩形窗也有一个缺点,就是旁瓣衰减相对于主瓣的值没有汉宁窗的大。这会导致频谱中旁瓣的值会比较大,从而对我们想要的频谱分量产生影响。
2、当我们取nwin=nfft=512,overlap=496时,信号频谱图为。
可见,合适的窗函数应该是hanning窗,采样点数定为256.
二)滤波器的设计。
通过对原始信号频谱的分析,可以看出单频噪声干扰主要是在5000hz左右,信号的采样频率fs=22050hz,对应2,所以5000hz对应0.45。设计滤波的时候,要考虑滤除这个频率的分量。
可以用低通,如果用低通的话,阻带衰减频率不能大于0.45;也可以用带阻滤波器,如果用带阻的话,0.45应该在两个阻带截止频率之间。
可以设想一下:理论上带阻要比低通好,因为低通在滤除噪声的同时,也把有用信号的整个高频分量给滤掉了,而带阻滤波器主要是滤除噪声,对有用信号的影响较小。下面开始滤波器的设计。
1)、iir滤波器的设计。
1、iir低通滤波器的设计。
这里用的是双线性变换法,考虑预畸变。阻带衰减初步设为50db,通带衰减设为2db,通带截止频率设为0.4*pi,阻带截止频率设为0.45*pi,观察一下设计的滤波器的性能。
clear;
clc;close;
s,fs]=w**read(''读取声音文件。
sound(s,fs);
nwin=256 ;
overlap=248;
nfft=256;
window=boxcar(nwin);
figure(1);
specgram(s,nfft,fs,window,overlap);
rp=2;rs=50;
wp=input(‘请输入通带截止频率’);
ws=input(‘请输入阻带截止频率’);
t=1/fs;
omegap=2/t*tan(wp/2); 由于双线性变换法在高频的非线性,这里要进行预畸变
omegas=2/t*tan(ws/2); 变换成模拟低通滤波器的截止频率。
n,wn]=buttord(omegap,omegas,rp,rs,'s');wn是3db的归一化频率。
disp('这个滤波器的阶数是');n
z,p,k]=buttap(n);
bs,as]=zp2tf(z,p,k); 零极点模型转化成传输函数模型。
b,a]=lp2lp(bs,as,wn); 把模拟低通滤波器转化成截止频率为wn的模拟低通滤波器。
bz,az]=bilinear(b,a,1/t);
figure(2)
freqz(bz,az,512,fs幅频特性。
y=filter(bz,az,s进行滤波。
figure(3)
specgram(y,nfft,fs,window,overlap);
sound(y,fs)
运行结果:滤波器性能分析:
通过对滤波前后频谱的分析及滤波前后声音文件的试听,可以看出滤波器的性能基本上达到了指标的要求,即干扰噪声的频谱分量远小于我们需要的频谱分量。但是还是有噪声,这一点可以从频谱上看出来。为了得到更好的滤波效果,我们可以把通带及阻带截止频率调的小一点。
衰减指标不变,通带截止频率设为0.3*pi,阻带截止频率设为0.4*pi,观察一下设计的滤波器的性能。
分析:滤波后的频谱图上已经看不到噪声分量,声音听起来也没有噪声。但是由于滤掉了高频分量,所以看起来低频分量要比滤波前更多一点。
滤波器的阶数n也比之前的高了3阶。不过总起来说,滤波效果要比以前好了。
2、iir带阻滤波器的设计。
由原信号的频谱分析,可以看出噪声分量主要在5000hz左右,设计带阻时要把它滤掉。设带阻滤波器的wc1=4500hz,wc2=5500hz,滤波器的阶数为2,观察一下滤波器的性能。
clear;
clc;close;
s,fs]=w**read(''
sound(s,fs);
nwin=256 ;
overlap=248;
nfft=256;
window=hamming(nwin);
figure(1);
specgram(s,nfft,fs,window,overlap);
wc=[4500/(fs/2),5500/(fs/2阻带截止频率。
b,a]=butter(2,wc,'stop获取传输函数的系数。
figure(2)
freqz(b,a,512,fs);
y=filter(b,a,s进行滤波。
figure(3)
specgram(y,nfft,fs,window,overlap);
sound(y,fs)
运行结果:分析:可以看到,噪声分量没有了,但是滤波器的阻带设计的太大了,许多有用分量也被滤掉了,声音听起来有部分失真。
解决办法:应该适当地减小阻带宽度。
设wc1=4950hz,wc2=5050hz,其余的不变,观察滤波器的滤波效果。
分析:改变阻带截止频率后,滤波效果明显好于改变之前。从频谱图上已经看不到噪声分量了,它与低通滤波器相比更好的是它很好的保留了高频的分量。滤波后的声音听起来也基本上没有失真。
二)、fir滤波器的设计。
1、fir低通滤波器的设计。
这里用窗函数法设计fir滤波器,由于hanning窗有较好的特性,旁瓣衰减比较大,所以这里选用hanning窗。
滤波器的通带截止频率设为0.4,阻带截止频率设为0.45,观察滤波器的性能。
clear;
clc;close;
s,fs]=w**read(''
sound(s,fs);
nwin=256 ;
overlap=248;
nfft=256;
window=hamming(nwin);
figure(1)
subplot(1,2,1)
specgram(s,nfft,fs,window,overlap);
title('滤波前的频谱');
fs=fs;
nft=512;
wp=0.3*pi;
ws=0.4*pi;
delta_w=ws-wp;%过渡带宽。
n=ceil(6.2*pi/delta_w);%n是滤波器的最小阶数。
wc=(wp+ws)/2;%截止频率是通带边界与阻带边界的中点。
alpha=(n-1)/2;%群延迟。
信号和滤波器答案
一 信号简介。一 问答题答案。1.信息 为某种事件的物理表述方式。如语言 文字 图像 编码等都是一种信息 消息 要传递的方式。信号 是信息的表现开式,信息是信号的具体内容。信号是随时间变化的某种物理量。电信号 通常是指随时间而变化的电压或电流,也可以是电容上的电荷,线图中的磁通,空间的电磁波等的变化...
Matlab课程设计数据滤波程序
matlab综合。课程设计报告。设计题目 专业物联网工程。班级 142 学生王明莲。指导教师刘庆。2016 年春季学期。一 总体设计。1 程序的总体设计。二 功能实现。1.流程图 三 测试及调试 测试方案 存在的问题及解决方法 2.详细描述程序编写的步骤及编写过程 现的问题 3.详细描述程序测试方案...
有源电力滤波器测试 v1 0
附件四 一 有源电力滤波装置测试方案及测试记录。1绝缘电阻测试。1.1 测试前的准备。滤波装置输入输出开关处于断开状态,机壳及其它接地部分应可靠接地,选用的兆欧表电压等级应符合表1规定。1 测绝缘电阻用兆欧表对照表。测试人 复核人 1.2测试方法。用兆欧表测量直接测量滤波装置回路与壳体的接地部件之间...