《测试信号分析与处理》(附实验结果).doc

合集下载

(完整word版)信号分析与处理实验报告程序+报告内容(非常全)

(完整word版)信号分析与处理实验报告程序+报告内容(非常全)

0,11)N -的输入序列,把它按⎩⎨⎧+=)12()2(r x r x 2N W ,title('傅立叶反变换');3.2.4 实验结果图(workspace里的各数据结果在此不一一列出)由图可知,离散时间信号经过傅里叶变换和傅里叶反变换后,没有发生改变,说明了程序的正确性。

3.2.5 频谱混叠%% 验证主程序clc;clear allTs=0.005; %采样时间间隔N=64; %采样点数T0=N*Ts; %采样时间长度M=N*Ts/T0; %M*T0为采样时间,M=1表示采样为整周期采样,M不等于1会发生频谱泄露M1=N1*Ts1/T1;for n=1:N1xx1(n)=10*sin(2*pi*50*n*Ts1+pi/3); %要进行傅立叶变换的连续时间函数endyy1=fft(xx1,N1); %对时域信号做傅立叶变换deltaf1=1/(T1*M1); %书上(6-78)for n=1:N1/2+1yy2(n)=yy1(n); %书上(6-76)endsubplot(2,1,2)f1=0:deltaf1:N1/2*deltaf1; %stem(f1,abs(yy2))xlabel('f/Hz');ylabel('|X(k)|/(A)');title('傅立叶变换');得到图像:四、实验分析1、比较快速傅里叶变换与离散傅里叶变换计算效率对于N 点DFT ,需进行2N 次复数乘法及(1)N N - 次复数加法,而对于同样点数的FFT ,则只需2log 2NN 次复数乘法和 2Nlog N 次复数加法,大大加快了运算速度。

2、离散傅里叶变换与z 变换的关系:有限长序列()x n 的离散傅里叶变换也可以定义为它的z 变换在z 平面单位圆上N 等分的均匀采样,即()[()]()k Nz W X k DFT x n X z -===同时,z 变换可由离散傅里叶变换通过内插函数构造。

测试信号分析与处理案例

测试信号分析与处理案例

101测试信号分析与处理案例【案例4。

1】在采用非抑制调幅技术设计测试系统时,如果调制波信号幅值有正有负,在调制前把调制波和一个足够大直流偏置信号相加。

解调后的信号再与同样的直流偏置信号相减。

否则解调波中的部分波形相位将发生180°滞后.【案例4.2】数字式电能表检测电能的工作原理大多是通过实时检测入户电压和电流,并将电压信号和电流信号进行乘法运算得到各时刻的瞬时电功率,并按时间积分电功率后得到电能值.【案例4。

3】在汽车进行平稳性试验时,测得汽车在某处的加速度的时域波形如图4。

7(a )所示。

将此信号送入信号处理机处理,获得图4。

7(b )所示的相关函数.由相关图看出车身振动含有某一周期振动信号,从两个峰值的时间间隔为s 11.0,可算出周期振动信号的频率为()Hz T f 911.011===(a )汽车加速度的时域波形 (b )汽车加速度的自相关函数图4。

7 加速度时域波形及其自相关函数【案例4.4】在一般正常情况下,悬臂梁的振动波形为正弦波,然而由于背景噪声或瞬间干扰等因素的影响,在一些时域区间信号的周期性难以呈现,为此利用自相关分析来识别采集信号的周期性,以判断测得信号是否含有较大的干扰信号.如图4。

8(引自参考文献20)所示,其中(a )为采集到的波形。

对原采集的振动波形进行自相关处理,得到的波形如图4.8(b )所示,自相关函数在时移1ms 时趋于零,毫无疑问悬臂梁振动波形无周期性,证明测得信号具有较大干扰信号。

【案例4。

5】在对某齿轮箱进行故障检测与诊断时,由于测取的振动信号信噪比很低,特征信号频率较高,信号消噪难度大,故障特征信号难以提取。

图4.9(引自参考文献21)为振动信号及其功率谱。

对原振动信号进行自相关计算,能有效消噪,提高信噪比。

图4。

10(引自参考文献21)为振动信号的自相关时域波形及其功率谱图。

可见信号经自相关计算后,时域图呈明显周期性,功率谱图中80Hz 频率十分明显.经分析,该频率信号是模拟不平衡、未校准、机械松动引起的低频干扰。

信号分析与处理实验报告

信号分析与处理实验报告

《信号分析与处理》实验报告华北电力大学前言1.实验总体目标通过实验,巩固掌握课程的讲授内容,使学生对信号分析与线性系统分析的基本理论及分析方法有一个感性认识和更好地理解,使学生在分析问题与解决问题的能力及实践技能方面有所提高。

2.适用专业自动化专业本科生3.先修课程信号分析与处理4.实验课时分配5需要配置微机及MATLAB工具软件。

6.实验总体要求1、掌握信号分解的基本思想及信号在时域、频域和变换域进行分解的基本理论及描述方法,用MATLAB编程语言实现基本信号的表示及可视化,计算和分析信号的频谱;2、掌握在时域、频域和变换域分析LTI系统的方法,及系统在时域、频域和变换域的描述方法,用MATLAB编程语言实现LTI系统的时域分析及频率分析。

3、掌握信号的调制与解调,用MATLAB编程语言仿真分析信号的调制与解调。

⒎ 本实验的重点、难点及教学方法建议实验通过MATLAB编程语言来实现基本信号的表示及可视化,计算分析信号的频谱,实现LTI系统的时域分析及频率分析,并仿真分析信号的调制与解调,使学生对信号分析与线性系统分析的基本理论及分析方法有一个感性认识和更好地理解。

实验的重点及难点是:掌握基本信号的数学表示,信号的频谱特点,计算LTI系统的典型响应,掌握信号的调制与解调。

在这样的理论基础上,学会用MATLAB编程语言来实现对信号与系统响应的可视化及对数字滤波器进行设计。

教学建议:打好理论基础,熟练编程语言。

目录实验一信号的时域与频域分析 3实验二信号的时域与频域处理 4实验三数字滤波器的设计 5实验一一、实验目的1、熟悉MATLAB 平台,高效的数值计算及符号计算功能;2、实现基本信号的表示及可视化计算;3、分析信号的频谱。

二、 实验类型验证型 三、 实验仪器微机,MATLAB 工具软件。

四、 实验原理MATLAB 是功能强大的数学软件,它提供了计算周期连续函数和周期离散序列的频谱的一系列函数。

信号分析与处理实验报告

信号分析与处理实验报告

华北电力大学实验报告||实验名称FFT的软件实现实验(Matlab)IIR数字滤波器的设计课程名称信号分析与处理||专业班级:电气化1308 学生姓名:袁拉麻加学号: 2 成绩:指导教师:杨光实验日期: 2015-12-17快速傅里叶变换实验一、实验目的及要求通过编写程序,深入理解快速傅里叶变换算法(FFT)的含义,完成FFT和IFFT算法的软件实现。

二、实验内容利用时间抽取算法,编写基2点的快速傅立叶变换(FFT)程序;并在FFT程序基础上编写快速傅里叶反变换(IFFT)的程序。

三:实验要求1、FFT和IFFT子程序相对独立、具有一般性,并加详细注释;2、验证例6-4,并能得到正确结果。

3、理解应用离散傅里叶变换(DFT)分析连续时间信号频谱的数学物理基础。

四、实验原理:a.算法原理1、程序输入序列的元素数目必须为2的整数次幂,即N=2M,整个运算需要M 级蝶形运算;2、输入序列应该按二进制的码位倒置排列,输出序列按自然序列排列;3、每个蝶形运算的输出数据军官占用其他输入数据的存储单元,实现“即位运算”;4、每一级包括N/2个基本蝶形运算,共有M*N/2个基本蝶形运算;5、第L级中有N/2L个群,群与群的间隔为2L。

6、处于同一级的各个群的系数W分布相同,第L级的群中有2L-1个系数;7、处于第L级的群的系数是(p=1,2,3,…….,2L-1)而对于第L级的蝶形运算,两个输入数据的间隔为2L-1。

b.码位倒置程序流程图开始检测A序列长度nk=0j=1x1(j)=bitget(k,j);j=j+1Yj<m?Nx1=num2str(x1);y(k+1)=bin2dec(x1);clear x1k=k+1c.蝶形运算程序流程图五、程序代码与实验结果a.FFT程序:%%clear all;close all;clc;%输入数据%A=input('输入x(n)序列','s');A=str2num(A);% A=[1,2,-1,4]; %测试数据%%%%校验序列,%n=length(A);m=log2(n);if (fix(m)~=m)disp('输入序列长度错误,请重新输入!');A=input('输入x(n)序列','s');A=str2num(A);elsedisp('输入正确,请运行下一步')end%%%码位倒置%for k=0:n-1for j=1:m %取M位的二进制数%x1(j)=bitget(k,j); %倒取出二进制数%endx1=num2str(x1); %将数字序列转化为字符串%y(k+1)=bin2dec(x1); %二进制序列转化为十进制数%clear x1endfor k=1:nB(k)=A(y(k)+1); %时间抽取序列%endclear A%%%计算%for L=1:m %分解为M级进行运算%LE=2^L; %第L级群间隔为2^L%LE1=2^(L-1); %第L级中共有2^(L-1)个Wn乘数,进行运算蝶运算的两数序号相隔LE1%W=1;W1=exp(-1i*pi/LE1);for R=1:LE1 %针对第R个Wn系数进行一轮蝶运算,共进行LE1次%for P=R:LE:n %每个蝶的大小为LE% Q=P+LE1;T=B(Q)*W;B(Q)=B(P)-T;B(P)=B(P)+T;endW=W*W1;endendB %输出X(k)%%%验证结果:例6-4b.IFFT程序:%%clear all;close all;clc;%输入数据%A=input('输入X(k)序列','s');A=str2num(A);% A=[6,2+2i,-6,2-2i]; %测试数据%%%%校验序列,%n=length(A);m=log2(n);if (fix(m)~=m)disp('输入序列长度错误,请重新输入!');A=input('输入x(n)序列','s');A=str2num(A);elsedisp('输入正确,请运行下一步')end%%%码位倒置%for k=0:n-1for j=1:m %取M位的二进制数%x1(j)=bitget(k,j); %倒取出二进制数%endx1=num2str(x1); %将数字序列转化为字符串%y(k+1)=bin2dec(x1); %二进制序列转化为十进制数%clear x1endfor k=1:nB(k)=A(y(k)+1); %时间抽取序列%endclear A%%%计算%for L=1:m %分解为M级进行运算%LE=2^L; %第L级群间隔为2^L%LE1=2^(L-1); %第L级中共有2^(L-1)个Wn乘数,进行运算蝶运算的两数序号相隔LE1%W=1;W1=exp(-1i*pi/LE1);for R=1:LE1 %针对第R个Wn系数进行一轮蝶运算,共进行LE1次%for P=R:LE:n %每个蝶的大小为LE%Q=P+LE1;T=B(Q)*W;B(Q)=B(P)-T;B(P)=B(P)+T;endW=W*W1;endendB=conj(B); %取共轭%B=B/n %输出x(n)%验证结果:六、实验心得与结论本次实验借助于Matlab软件,我避开了用C平台进行复杂的复数运算,在一定程度上简化了程序,并添加了简单的检错代码,码位倒置我通过查阅资料,使用了一些函数,涉及到十-二进制转换,数字-文本转换,二-文本转换,相对较复杂,蝶运算我参考了书上了流程图,做些许改动就能直接实现。

测试信号分析处理实验报告

测试信号分析处理实验报告

《测试信号分析与处理》课程试验报告试验名称:快速傅立叶变换算法(FFT)在信号频谱分析中的应用及滤波器的设计和实现试验目的:通过本试验,基本掌握FFT算法的实现原理,同时能利用MATLAB语言编写完成FFT算法,并对给定的信号进行频谱分析。

按照给定的数字滤波器设计指标,完成相应数字滤波器的设计。

试验设备:通用计算机+MATLAB 6.0软件。

试验步骤:1、产生给定的需要分析的周期性信号,利用FFT算法对产生的周期性信号进行频谱分析。

2、按照给定的数字滤波器设计指标,设计完成相应的数字滤波器。

试验内容:1、理解FFT算法的基本原理;2、掌握MATLAB编程的基本语言;3、会利用MATLAB语言实现FFT算法。

4、利用实现的FFT算法对给定的周期性离散信号进行频谱分析,并绘出频谱图。

5、理解数字滤波器设计指标,完成数字滤波器设计。

试验的难点和要点:1、依据采样定理,对给定的信号选择合适的采样周期进行离散化。

2、熟练使用MATLAB语言中的FFT库函数对采样信号进行傅立叶变换。

3、利用MATLAB 绘图语言绘制傅立叶变换后的信号频谱图。

4、利用MATLAB 语言设计完成给定指标的数字滤波器。

试验过程记录:1、利用FFT 实现对信号频谱分析的基本原理(介绍试验内容中所涉及到的信号分析理论,注意介绍说明要规范和完整)本实验是求函数x=sin(2*pi*50*t)+sin(2*pi*25*t)的频谱曲线,实验中通过在0到1.023之间以0.001的间隔取了1024个点绘制两个正弦函数的叠加曲线,然后进行频谱分析。

由于序列的长度为1024=2^10,所以可以采用基2时析型FFT 算法。

序列长度1024=2^10,因此运算级数为10级。

第一步:先通过构造一个循环函数求出输入序列的按倒序重排的序列,然后接下来的运算是建立在这个重排序列的基础上。

第二步:通过构造一个三级嵌套循环求出该序列的傅里叶变换函数。

其中第三级循环函数中包含两个循环函数,第一个循环函数用来求出奇序列的值,第二个循环函数用来求出偶序列的值。

测试信号分析与处理-第3章(打印版)

测试信号分析与处理-第3章(打印版)
-3-
关于 m = 0 偶对称。
即: m=-(N-1), …,-1,0,1,…,(N-1), 长度为2N-1
-4-
§3.1 相关函数估计的计算式
估计质量如何?
ˆ 估计均值: E[ Rxx (m)] = E[
N −|m|−1 1 ∑ x(n) x(n + m)] N − | m | n =0
§3.1 相关函数估计的计算式
j =1 n
⎡ sq(1) sq(1) sq(2) sq(1) ⎢ sq(1) sq(2) sq(2) sq(2) ⎢ 按从小到大排序, ⎢ M M 比较平方和: ⎢ ⎣ sq(1) sq(10) sq(2) sq(10)
sq(10) sq(1) ⎤ sq(10) sq(2) ⎥ ⎥ ⎥ O M ⎥ L sq(10) sq(10) ⎦ L L
相关函数和线性卷积运算的关系
x 线性卷积: (m) ∗ y (m) = ∑ x(m − k ) y (k )
N −1
相关函数和线性卷积运算的关系
说明: ● 相关函数与线性卷积的计算形式相似,都包 含着变量的移位、相乘和求和,差别只是卷 积多一个序列的翻转,因而两者仅差一个负 号;

相关函数:Rxy (m) =
l
x ( n) :
R 将平方和相近的波形相加求平均: _ model = ∑ R(i,:) (l − k + 1)
i=k
Rxy (m) :
- 27 -
- 28 -
相关运算
2. 自相关法检测信号的周期
信号的检测: x (n ) = s(n ) + u(n )
(白噪声)
y ( n) :
x (n ) 中有无 s (n) ?

《测试信号分析与处理》实验报告

《测试信号分析与处理》实验报告

《测试信号分析与处理》实验一差分方程、卷积、z变换一、实验目的通过该实验熟悉 matlab软件的基本操作指令,掌握matlab软件的使用方法,掌握数字信号处理中的基本原理、方法以及matlab函数的调用。

二、实验设备1、微型计算机1台;2、matlab软件1套三、实验原理Matlab 软件是由mathworks公司于1984年推出的一套科学计算软件,分为总包和若干个工具箱,其中包含用于信号分析与处理的sptool工具箱和用于滤波器设计的fdatool工具箱。

它具有强大的矩阵计算和数据可视化能力,是广泛应用于信号分析与处理中的功能强大且使用简单方便的成熟软件。

Matlab软件中已有大量的关于数字信号处理的运算函数可供调用,本实验主要是针对数字信号处理中的差分方程、卷积、z变换等基本运算的matlab函数的熟悉和应用。

差分方程(difference equation)可用来描述线性时不变、因果数字滤波器。

用x表示滤波器的输入,用y表示滤波器的输出。

a0y[n]+a1y[n-1]+…+a N y[n-N]=b0x[n]+b1x[n-1]+…+b M x[n-M] (1)ak,bk 为权系数,称为滤波器系数。

N为所需过去输出的个数,M 为所需输入的个数卷积是滤波器另一种实现方法。

y[n]= ∑x[k] h[n-k] = x[n]*h[n] (2)等式定义了数字卷积,*是卷积运算符。

输出y[n] 取决于输入x[n] 和系统的脉冲响应h[n]。

传输函数H(z)是滤波器的第三种实现方法。

H(z)=输出/输入= Y(z)/X(z) (3)即分别对滤波器的输入和输出信号求z变换,二者的比值就是数字滤波器的传输函数。

序列x[n]的z变换定义为X (z)=∑x[n]z-n (4)把序列x[n] 的z 变换记为Z{x[n]} = X(z)。

由X(z) 计算x[n] 进行z 的逆变换x[n] = Z-1{X(z)}。

Z 变换是Z-1的幂级数,只有当此级数收敛,Z 变换才有意义,而且同一个Z 变换等式,收敛域不同,可以代表不同序列的Z 变换函数。

测试信号分析与处理实验

测试信号分析与处理实验

193第四节 实验实验一,混叠现象的时域与频域表现考虑频率分别为3Hz ,7Hz ,13Hz 的三个余弦信号,即:g1(t)=cos(6πt), g2(t)=cos(14πt), g3(t)=cos(26πt),当采样频率为10Hz 时,即采样间隔为0.1秒,则产生的序列分别为:g1[n]=cos(0.6πn), g2[n]=cos(1.4πn), g3[n]=cos(2.6πn)对g2[n],g3[n] 稍加变换可得:g2[n]=cos(1.4πn)=cos((2π-0.6π)n)= cos(0.6πn)g3[n]=cos(2.6πn)= cos((2π+0.6π)n)=cos(0.6πn)因此它们在时域表现为一个序列。

实际上,当给定频率为(10k ±3Hz)的余弦信号,且采样频率为10Hz 时,均表现为g1[n]=cos(0.6πn)的序列。

以下的matlab 程序画出三序列的时域和频域图(图9―32),非常直观地说明了混叠现象。

n=1:300;t=(n-1)*1/300;g1=cos(6*pi*t);g2=cos(14*pi*t);g3=cos(26*pi*t);plot(t,g1,t,g2,t,g3);k=1:100;s=k*0.1;q1=cos(6*pi*s);q2=cos(14*pi*s);q3=cos(26*pi*s);hold on; plot(s(1:10),q1(1:10),'bd');figuresubplot(2,2,1);plot(k/10,abs(fft(q1)))subplot(2,2,2);plot(k/10,abs(fft(q2)))subplot(2,2,3);plot(k/10,abs(fft(q3)))如果将采样频率改为30Hz,则三信号采样后不会发生频率混叠,可运行以下的程序,观察序列的频谱。

k=1:300;q=cos(6*pi*k/30);q1=cos(14*pi*k/30);q2=cos(26*pi*k/30);subplot(2,2,1);plot(k/10,abs(fft(q)))subplot(2,2,2);plot(k/10,abs(fft(q1)))subplot(2,2,3);plot(k/10,abs(fft(q2)))问题与实践:保证采样后的信号不发生混叠的条件是什么?若信号的最高频率为17Hz,采样频率为30Hz,问是否会发生频率混叠?混叠成频率为多少Hz的信号?编程验证你的想法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《测试信号分析与处理》实验指导书实验一差分方程、卷积、z变换一、实验目的通过该实验熟悉 matlab软件的基本操作指令,掌握matlab软件的使用方法,掌握数字信号处理中的基本原理、方法以及matlab函数的调用。

二、实验设备1、微型计算机1台;2、matlab软件1套三、实验原理Matlab 软件是由mathworks公司于1984年推出的一套科学计算软件,分为总包和若干个工具箱,其中包含用于信号分析与处理的sptool工具箱和用于滤波器设计的fdatool工具箱。

它具有强大的矩阵计算和数据可视化能力,是广泛应用于信号分析与处理中的功能强大且使用简单方便的成熟软件。

Matlab软件中已有大量的关于数字信号处理的运算函数可供调用,本实验主要是针对数字信号处理中的差分方程、卷积、z变换等基本运算的matlab函数的熟悉和应用。

差分方程(difference equation)可用来描述线性时不变、因果数字滤波器。

用x表示滤波器的输入,用y表示滤波器的输出。

a0y[n]+a1y[n-1]+…+a N y[n-N]=b0x[n]+b1x[n-1]+…+b M x[n-M] (1)ak,bk 为权系数,称为滤波器系数。

N为所需过去输出的个数,M 为所需输入的个数卷积是滤波器另一种实现方法。

y[n]= ∑x[k] h[n-k] = x[n]*h[n] (2) 等式定义了数字卷积,*是卷积运算符。

输出y[n] 取决于输入x[n] 和系统的脉冲响应h[n]。

传输函数H(z)是滤波器的第三种实现方法。

H(z)=输出/输入= Y(z)/X(z) (3)即分别对滤波器的输入和输出信号求z变换,二者的比值就是数字滤波器的传输函数。

序列x[n]的z变换定义为X (z)=∑x[n]z-n (4) 把序列x[n] 的z 变换记为Z{x[n]} = X(z)。

由X(z) 计算x[n] 进行z 的逆变换x[n] = Z-1{X(z)}。

Z 变换是Z-1的幂级数,只有当此级数收敛,Z 变换才有意义,而且同一个Z 变换等式,收敛域不同,可以代表不同序列的Z 变换函数。

这三种数字滤波器的表示方法之间可以进行相互转换。

四、实验步骤1、熟悉matlab软件基本操作指令。

读懂下列matlab程序指令,键入程序并运行,观察运行结果。

Conv.m% 计算两个序列的线性卷积;%-----------------------------------------------------------------clear;N=5;M=6;L=N+M-1;x=[1,2,3,4,5];h=[6,2,3,6,4,2];y=conv(x,h);nx=0:N-1;nh=0:M-1;ny=0:L-1;subplot(231);stem(nx,x,'.k');xlabel('n');ylabel('x(n)');grid on;subplot(232);stem(nh,h,'.k');xlabel('n');ylabel('h(n)');grid on;subplot(233);stem(ny,y,'.k');xlabel('n');ylabel('y(n)');grid on;filter.m;%求一个离散系统的输出;clear;x=ones(100);t=1:100;b=[.001836,.007344,.011016,.007374,.001836];a=[1,-3.0544,3.8291,-2.2925,.55075];y=filter(b,a,x);clear;impz .m% 计算滤波器的冲击响应b=[.001836,.007344,.011016,.007374,.001836];a=[1,-3.0544,3.8291,-2.2925,.55075];[h,t]=impz(b,a,40);subplot(221)stem(t,h,'.');grid on;ylabel('h(n)')xlabel('n')filter.m% 计算滤波器的阶跃响应x=ones(100);t=1:100;y=filter(b,a,x);subplot(222)plot(t,x,'g.',t,y,'k-');grid on;ylabel('x(n) and y(n)')xlabel('n')2、编程求出下列问题的解1)、滤波器的差分方程为:y[n]=x[n]-0.8x[n-1]-0.5y[n-1]求出此滤波器脉冲响应和阶跃响应的前十个采样值。

2)、系统的脉冲响应为h[n]=e-n(u[n]-u[n-3]),用卷积求系统的阶跃响应。

五、实验讨论和分析1、差分方程、卷积、z变换和傅里叶变换之间如何进行转换?2、边界效应是如何产生的?它对信号的滤波效果有何影响?实验二数字滤波器综合设计一、实验目的通过该设计实验掌数字滤波器设计的一般步骤,掌握利用matlab 软件设计数字滤波器的方法,熟悉sptool工具箱的使用方法。

二、实验设备1、微型计算机1台;2、matlab软件1套三、实验原理一)、滤波器的形状及重要参数理想滤波器的形状是矩形,图 1 给出非理想滤波器。

图1通带:增益高的频率范围,信号可以通过,称为滤波器的通带。

阻带:增益低的频率范围,滤波器对信号有衰减或阻塞作用,称滤波器的阻带。

滤波器截止频率:增益为最大值的0.707倍时所对应的频率为滤波器截止频率增益通常用分贝(dB)表示。

增益(dB)= 20log(增益)增益为0.707 时对应-3dB,因此截止频率常被称为-3dB。

滤波器的带宽:对于低通滤波器宽带是从0 ~ - 3dB对于高通滤波器宽带是从- 3dB~采样频率的一半对于带通滤波器带宽是截止频率之间的频率距离二)加窗低通FIR 滤波器的设计1. 在过渡带宽度的中间,选择通带边缘频率(Hz):f1=所要求的通带边缘频率+(过渡带宽度)/22. 计算Ω1=2πf1/fs,并将此值代入理想低通滤波器的脉冲响应h1[n] 中:h1[n] = sin(nΩ1)/nπ3. 从表中选择满足阻带衰减及其他滤波器要求的窗函数,用表中N 的公式计算所需要的非零项数目。

选择奇数项,这样脉冲响应可以完全对称,避免了滤波器产生相位失真,对于|n|≤(N-1)/2,计算窗函数w[n]。

4. 对于|n|≤(N-1)/2,从式h[n]=h1[n]w[n]计算(有限)脉冲响应,对于其他n 值h[n]=0,此脉冲响应是非因果的。

5. 将脉冲响应右移(N-1)/2,确保第一个非零值在n=0处,使此低通滤波器为因果的。

三)、设计低通巴特沃斯滤波器:1) 确定待求通带边缘频率fp1 Hz 、待求阻带边缘频率fs1 Hz 和待求阻带衰减- 20logδsdB(或待求阻带增益20logδsdB)。

通带边缘频率对应–3dB增益。

2) 用式Ω=2πf/fs 把由Hz 表示的待求边缘频率转成由弧度表示的数字频率,得到Ωp1 和Ωs1 。

3) 计算预扭曲模拟频率以避免双线性变化带来的失真。

由ω=2fs tan(Ω/2)求得ωp1和ωs1,单位是弧度/秒。

4) 由已给定的阻带衰减- 20logδs(或增益- 20logδs)确定阻带边缘增益δs 。

5) 计算所需滤波器的阶数n 取整数。

6)把ωp1代入n 阶模拟巴特沃斯滤波器传输函数H(s)中,并对H(s) 进行双线性变换得到n 阶数字传输函数H(z)。

滤波器实现所需的差分方程可直接从传输函数H(s) 求出。

四)、低通切比雪夫Ⅰ型滤波器的设计:1)确定待求的通带与阻带边缘频率fp1 和fs1 、待求的通带边缘增益20log(1- δp) 和待求的阻带衰减-20logδs(或待求的阻带增益20logδs )。

2)用公式Ω=2πf/fs 将待求的边缘频率转换为数字频率(用弧度表示),得到Ωp1 和Ωs1 。

3)对数字频率采用预扭曲以避免双线性变换引起的误差。

由ω=2fs tan(Ω/2) 得到ωp1和ωs1,单位是弧度/秒。

4)由指定的通带边缘增益20log(1- δp) ,确定通带边缘增益1- δp 。

计算参数ε。

5)由指定的衰减-20logδs(或增益20logδs),确定阻带边缘增益δs 。

6)计算所需的阶数n。

7)将ωp1 和δp 代入n 阶模拟切比雪夫Ⅰ型滤波器的传输函数H(s),并对其进行双线性变换,得到n 阶数字滤波器传输函数H(z)。

实现滤波器所需的差分方程可由传输函数H(z) 直接得到。

四、实验步骤1、任选第9、10章后滤波器设计题各2题,利用matlab编程完成滤波器的设计,并画出滤波器的脉冲响应、幅度响应和相位响应图。

五、实验讨论和分析1、设计得到的滤波器与设计要求有无差别?如果有,请分析误差产生的原因。

2、FIR滤波器与IIR滤波器的优缺点分别是什么?针对具体信号进行滤波时,如何选择?实验一clear;N=5;M=6;L=N+M-1;x=[1,2,3,4,5];h=[6,2,3,6,4,2];y=conv(x,h);nx=0:N-1;nh=0:M-1;ny=0:L-1;subplot(231);stem(nx,x,'.k');xlabel('n');ylabel('x(n)');grid on; subplot(232);stem(nh,h,'.k');xlabel('n');ylabel('h(n)');grid on; subplot(233);stem(ny,y,'.k');xlabel('n');ylabel('y(n)');grid on;clear;x=ones(100);t=1:100;b=[.001836,.007344,.011016,.007374,.001836]; a=[1,-3.0544,3.8291,-2.2925,.55075];y=filter(b,a,x);clear;b=[.001836,.007344,.011016,.007374,.001836];a=[1,-3.0544,3.8291,-2.2925,.55075];[h,t]=impz(b,a,40);subplot(221)x=ones(100);t=1:100;y=filter(b,a,x);subplot(222)plot(t,x,'g.',t,y,'k-');grid on;ylabel('x(n) and y(n)')xlabel('n')2、编程求出下列问题的解1)、滤波器的差分方程为:y[n]=x[n]-0.8x[n-1]-0.5y[n-1] 求出此滤波器脉冲响应和阶跃响应的前十个采样值。

相关文档
最新文档