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

实验一1、基本信号的表示及可视化(1)单位冲激信号 (t)程序:t=-1:0.001:1; %定义时间向量for i=1:3; %采用循环语句观察i取不同值时的图形dt=1/(i^4);X=(1/dt)*((t>=(-1/2*dt))-(t>=(1/2*dt)));%计算函数值subplot(1,3,i);%将图像分成三部分同时观察stairs(t,X);title('单位冲激信号δ(t)');end(2)单位阶跃信号程序:t=-0.5:0.001:1;%定义时间变量,间隔为0.001S=stepfun(t,0);%定义单位阶跃信号S1=stepfun(t,0.5);%定义单位阶跃延迟信号figure(1);plot(t,S);axis([-0.5 1 -0.2 1.2]);title('单位阶跃信号')%画出图形figure(2);plot(t,S1);axis([-0.5 1 -0.2 1.2]);title('单位阶跃延迟信号')(3)抽样信号f=sin(t)./t;程序:t=-10:0.6:10; %向量t时间范围t=t1:p:t2,p为时间间隔f=sin(t)./t;plot(t,f,'o'); %显示该信号的时域波形title('f(t)=Sa(t)(时间间隔为0.6s)'); %标题xlabel('t') %横坐标标题axis([-10,10,-0.4,1.1]) %横坐标和纵坐标范围(4)单位样值序列和单位阶跃序列A.单位序列δ(k)B.单位阶跃序列ε(k)程序:n1=-10;n2=10;%输入序列的起始点n=n1:n2;k=length(n);x1=zeros(1,k);x1(1,-n1+1)=1;%产生单位样值序列subplot(2,1,1);%绘图stem(n,x1,'filled');x2=ones(1,k);x2(1,1:-n1)=0;subplot(2,1,2);stem(n,x2,'filled');2、信号的频域分析已知周期方波信号0||2()0||22E t f t T t ττ⎧<⎪⎪=⎨⎪<<⎪⎩,当02T τ=, 04T τ=,08T τ=时,画出其幅度谱和相位谱,观察不同周期下,()f t 的频谱图有何区别。
(完整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 频率十分明显.经分析,该频率信号是模拟不平衡、未校准、机械松动引起的低频干扰。
信号分析与处理实验报告

华北电力大学实验报告||实验名称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级。
第一步:先通过构造一个循环函数求出输入序列的按倒序重排的序列,然后接下来的运算是建立在这个重排序列的基础上。
第二步:通过构造一个三级嵌套循环求出该序列的傅里叶变换函数。
其中第三级循环函数中包含两个循环函数,第一个循环函数用来求出奇序列的值,第二个循环函数用来求出偶序列的值。
《测试信号分析与处理》实验报告

《测试信号分析与处理》实验一差分方程、卷积、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 变换函数。
信号分析与处理实验报告(基于MATLAB)

武汉工程大学电气信息学院三、实验数据与结果分析1、2、四、思考:2. 3.四、思考:1、代数运算符号*和.*的区别是?*是矩阵相乘,是矩阵A行元素与B的列元素相乘的和.*是数组相乘,表示数组A和数组B中的对应元素相乘实验内容实验三连续时间信号的卷积一、实验内容1、已知两连续时间信号如下图所示,绘制信号f1(t)、f2(t)及卷积结果f(t)的波形;设时间变化步长dt分别取为0.5、0.1、0.01,当dt取多少时,程序的计算结果就是连续时间卷积的较好近似?2、、计算信号()()()11==-a t u e t f at 和()()t tu t f sin 2=的卷积f(t),f 1(t)、f 2(t)的时间范围取为0~10,步长值取为0.1。
绘制三个信号的波形。
二、实验方法与步骤1、绘制信号f 1(t)、f 2(t)及卷积结果f(t)的波形,当dt 取0.01时程序的计算结果就是连续时间卷积的较好近似程序代码如下:clear allclose allclcdt=0.01t1=0:dt:2;t2=-1:dt:1;f1=0.5*t1;f2=0.5*(t2+1);y=dt*conv(f1,f2); %计算卷积t0=t1(1)+t2(1); %计算卷积结果的非零样值的起点位置2.实验内容三、实验数据与结果分析1.2.实验内容实验五连续时间信号的频域分析一、实验内容1、如图5.4所示的奇谐周期方波信号,周期为T1=1,幅度为A=1,将该方波信号展开成三角形式Fourier级数并分别采用频域矩形窗和Hanning窗加权,绘制两种窗函数加权后的方波合成图像。
时间范围取为-2~2,步长值取为0.01。
2、将图5.5中的锯齿波展开为三角形式Fourier级数,按(2)式求出Fourier级数的系数,并在频域分别采用矩形窗、Hanning窗和三角窗加权,观察其Gibbs效应及其消除情况。
时间范围取为-2~2,步长值取为0.01。
信号分析与处理实验报告指导书

1
的波形图。
1.3 将 信 号 用 一 个 数 据 序列来表示
对于离散时间信号,还可以表示成一个数的序列,例如: x[n]={...., 0.1, 1.1, -1.2, 0, 1.3, ….} ↑n=0
上述三种信号的描述方法是经常要使用的。
2.MATLAB 及其操作简述 2.1 MATLAB 简介
即横轴和纵轴,因此,图像信号具有两个或两个以上的独立变量。
在《信号分析与处理》课程中,我们只关注这种只有一个独立变量
(Independent variable)的信号,并且把这个独立变量统称为时间变量(Time
variable),不管这个独立变量是否是时间变量。
在自然界中,大多数信号的时间变量都是连续变化的,因此这种信号被称为
(1)以直接列出元素的形式输入; (2)通过语句和函数产生; (3)建立在 M 文件中; (4)从外部的数据文件中装入。 在 MATLAB 语言中不必描述矩阵的维数和类型,它们是由输入的格式和内容来确 定的。 输入小矩阵最简单的方法是使用直接排列的形式,把矩阵的元素直接排列到 方括号中,每行内的元素用空格或逗号分开,行与行的内容用分号格开。例如输 入: A=[1 2 3;4 5 6;7 8 9] 或 A=[1,2,3;4,5,6;7,8,9] 都将得到同样的输出结果。 大的矩阵可以分行输入,用回车号代替分号。输入后矩阵 A 将一直保存在工 作空间中,除非被替代和清除,A 矩阵可以随时被调出来。若在命令末尾加上“;” 号,则表示结果不显示,除非再次调用。 2.矩阵的运算 如果一个矩阵 A 有 n 行、m 列元素,则称 A 矩阵为 n×m 矩阵,如果 n=m,则 称矩阵 A,又称为方阵。MATLAB 定义了下面各种矩阵的基本运算: (1)矩阵转置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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')例题运行结果图24nx (n )5nh (n )510ny (n )2、编程求出下列问题的解 1)、滤波器的差分方程为:y[n]=x[n]-0.8x[n-1]-0.5y[n-1]求出此滤波器脉冲响应和阶跃响应的前十个采样值。
clear;%impz.m% 计算滤波器的冲击响应 b=[1,-.8]; a=[1,.5];[h,t]=impz(b,a,10); stem(t,h,'.');gird on ; ylabel('h(n)')xlabel('n')123456789nh (n )clear;%filter.m% 计算滤波器的阶跃响应 x=ones(10);t=1:10; b=[1,-.8]; a=[1,.5];y=filter(b,a,x);plot(t,x,'g.',t,y,'k.');gird on ; ylabel('x(n) and y(n)') xlabel('n')12345678910nx (n ) a n d y (n )2)、系统的脉冲响应为h[n]=e -n(u[n]-u[n-3]),用卷积求系统的阶跃响应。
N=25; M=3;L=N+M-1;x=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; h=[1,.3679,.1353]; 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;2040nx (n)12nh (n )204ny (n )五、实验讨论和分析1、差分方程、卷积、z 变换和傅里叶变换之间如何进行转换?答:差分方程;a0y[n]+a1y[n-1]+a2y[n-2]+`````+aNy[n-N]=b0x[n]+b1x[n-1]+……+bMx[n-M] 卷积是由输入x[n]所引起的全部输出y[n]是所有这些加权脉冲相应之和。
即y{n}=x[n]*h[n]只要知道脉冲响应和输入就可以得到输出 Z 变换是把时域信号向频域进行转换X (z )=∑x[n]z ˇ-n Y (z )=∑y[n]z ˇ-n 脉冲响应是传输函数的逆z 变换 傅里叶变换X (Ω)=∑x[n]e ˇ-jn Ω 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)。