《测试信号分析与处理》实验报告
- 格式:doc
- 大小:442.50 KB
- 文档页数:17
测试信号实验报告实验一一实验目的1. 在理论学习的基础上,通过本次试验,加深对快速傅里叶变换的理解,熟悉FFT算法及其程序的编写。
2.应用FFT对信号进行频谱分析。
3.了解应用FFT进行信号频谱分析过程中可能出现的问题,以便今后能在实际中应用FFT。
二实验内容1.用Matlab产生正弦波,矩形波,以及白噪声信号,并显示各自时域波形图2.进行FFT变换,显示各自频谱图,其中采样率,频率、数据长度自选3.做出上述三种信号的均方根图谱,功率图谱,以及对数均方根图谱4.用IFFT傅立叶反变换恢复信号,并显示恢复的正弦信号时域波形图源程序三实验原理在各种信号序列中,有限长序列占有重要地位。
对有限长序列,可以利用离散傅里叶变换(DFT)进行分析。
DFT不但可以很好地反映序列的频谱特性,而且易于用快速算法(FFT)在计算机上实现。
有限长序列的DFT是其Z变换在单位圆上的等距采样,或者说是序列傅里叶变换的等距采样,因此可以用于序列的谱分析。
FFT是DFT的一种快速算法,它是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。
常用的FFT是以2为基数的,其长度N。
它的效率高,程序简单,使用方便。
当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT,可以用末尾补零的方法,使其长度延长至2的整数次方。
在MATLAB中,可用函数FFT来实现,其调用格式为y=FFT(x)或y=FFT(x,N)y=FFT(x)为利用FFT算法计算矢量的离散傅里叶变换,当x为矩阵时,y为矩阵x每一列的FFT。
当x的长度为2的整数次方时,则FFT函数采用基2的算法,否则采用稍慢的混合基算法。
y=FFT(x,N)采用N点FFT。
当x的长度小于N时,FFT函数在x的尾部补零,以构成N点数据;当x 的长度大于N>时,FFT会截断序列x。
四试验程序%***************1.正弦波****************%fs=100;%设定采样频率N=128;n=0:N-1;t=n/fs;f0=10;x=sin(2*pi*f0*t);figure(1);subplot(231);xlabel('t');ylabel('y');title('正弦信号y=2*pi*10t时域波形'); grid;%进行FFT变换并做频谱图y=fft(x,N);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)'*fs/length(y);figure(1);subplot(232);plot(f,mag);axis([0,100,0,80]);xlabel('频率(Hz)');ylabel('幅值');title('正弦信号y=2*pi*10t幅频谱图N=128'); grid;sq=abs(y);figure(1);subplot(233);plot(f,sq);xlabel('频率(Hz)');ylabel('均方根谱');title('正弦信号y=2*pi*10t均方根谱'); grid;power=sq.^2;figure(1);subplot(234);plot(f,power);xlabel('频率(Hz)');ylabel('功率谱');title('正弦信号y=2*pi*10t功率谱');grid;ln=log(sq);figure(1);subplot(235);plot(f,ln);xlabel('频率(Hz)');ylabel('对数谱');title('正弦信号y=2*pi*10t对数谱');grid;xifft=ifft(y);magx=real(xifft);ti=[0:length(xifft)-1]/fs;subplot(236);plot(ti,magx);xlabel('t');ylabel('y');title('通过IFFT转换的正弦信号波形');grid;%****************2.矩形波****************% fs=10;%设定采样频率t=-5:0.1:5;x=rectpuls(t,2);x=x(1:99);figure(2);subplot(231);plot(t(1:99),x);%作矩形波的时域波形xlabel('t');ylabel('y');title('矩形波时域波形');grid;%进行FFT变换并做频谱图y=fft(x);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换figure(2);subplot(232);plot(f,mag);%做频谱图xlabel('频率(Hz)');ylabel('幅值');title('矩形波幅频谱图');grid;%求均方根谱sq=abs(y);figure(2);subplot(233);plot(f,sq);xlabel('频率(Hz)');ylabel('均方根谱');title('矩形波均方根谱');grid;%求功率谱power=sq.^2;figure(2);subplot(234);plot(f,power);xlabel('频率(Hz)');ylabel('功率谱');title('矩形波功率谱');grid;%求对数谱ln=log(sq);figure(2);subplot(235);plot(f,ln);xlabel('频率(Hz)');ylabel('对数谱');title('矩形波对数谱');grid;%用IFFT恢复原始信号xifft=ifft(y);magx=real(xifft);ti=[0:length(xifft)-1]/fs;figure(2);subplot(236);plot(ti,magx);xlabel('t');ylabel('y');title('通过IFFT转换的矩形波波形');grid;%****************3.白噪声****************% fs=10;%设定采样频率t=-5:0.1:5;x=zeros(1,100);x(50)=100000;figure(3);subplot(231);plot(t(1:100),x);%作白噪声的时域波形xlabel('t');ylabel('y');title('白噪声时域波形');grid;%进行FFT变换并做频谱图y=fft(x);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换figure(3);subplot(232);plot(f,mag);%做频谱图xlabel('频率(Hz)');ylabel('幅值');title('白噪声幅频谱图');grid;%求均方根谱sq=abs(y);figure(3);subplot(233);plot(f,sq);xlabel('频率(Hz)');ylabel('均方根谱');title('白噪声均方根谱');grid;%求功率谱power=sq.^2;figure(3);subplot(234);plot(f,power);xlabel('频率(Hz)');ylabel('功率谱');title('白噪声功率谱');grid;%求对数谱ln=log(sq);figure(3);subplot(235);plot(f,ln);xlabel('频率(Hz)');ylabel('对数谱');title('白噪声对数谱');grid;%用IFFT恢复原始信号xifft=ifft(y);magx=real(xifft);ti=[0:length(xifft)-1]/fs;figure(3);subplot(236);plot(ti,magx);xlabel('t');ylabel('y');title('通过IFFT转换的白噪声波形'); grid;五实验结果图正弦信号频谱图图1正弦信号的时域波形图2正弦信号的幅频谱图图3正弦信号的均方根谱图4正弦信号的功率谱图5正弦信号的对数谱图6 用IFFT转换的正弦信号波形矩形波图1矩形波的时域波形图2矩形波的幅频谱图图3矩形波的均方根谱图4矩形波的功率谱图5矩形波的对数谱图6 用IFFT转换的矩形波波形白噪声图1白噪声的时域波形图2白噪声的幅频谱图图3白噪声的均方根谱图4白噪声的功率谱图5白噪声的对数谱图6 用IFFT转换的白噪声波形六实验感想通过这一次Matlab的实验,让我对Matlab在系统设计与处理系统中的应用有了一定的了解,使我意识到实践是非常重要的,也让我我对FFT与IFFT有了进一步的理解,并了解到正弦波,矩形波和白噪声的各种图谱。
实验一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 的频谱图有何区别。
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 变换函数。
《测试信号分析与处理》实验指导书实验一差分方程、卷积、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)}。
测试技术与信号处理实验报告学院:班级:学号:姓名:指导老师:实验二金属箔式应变片——半桥性能实验实验目的:比较半桥与单臂电桥的不同性能,了解其特点。
二、基本原理:不同受力方向的两片应变片接入电桥作为邻边,电桥输出灵敏度提高,非线性得到改善。
当两片应变片阻值和应变量相同时,其桥路输出电压U02=EK/ε2。
三、需用器件与单元:应变式传感器实验模板、应变式传感器、砝码、直流电压表、±15V电源、±4V电源、万用表(自备)。
四、实验步骤:1、根据图(2-1)应变式传感器的插头插入应变传感器模块(Ti)上。
传感器中各应变片就接入了模板。
的左上方的R1、R2、R3、R4。
加热丝贴在应变传感器上,用时插入+5V直流电源,可用万用表进行测量判别,R1=R2=R3=R4=350Ω,加热丝阻值为50Ω左右。
图2-12、接入模板电源±15V(从主控台引入),检查无误后,合上主控台电源开关,将实验模板调节增益电位器R w3顺时针调节大致到中间位置,再进行差动放大器调零,方法为将差放的正、负输入端与地短接,V o1与Vi2连接,输出V o2与主控台面板上直流电压表输入端+相连,调节实验模板上调零电位器RW4使直流电压表显示为零(直流电压表的切换开关打到2V档)。
关闭主控台电源。
3、根据图2-2接线。
R1、R2为实验模板左上方的应变片,注意R2应和R1受力状态相反,即将传感器中两片受力相反(一片受拉、一片受压)的电阻应变片作为电桥的相邻边。
接入桥路电源±4V,调节电桥调零电位器R w1进行桥路调零。
图 2-24\在电子称上放置一只砝码,读取直流电压表数值,依次增加砝码和读取相应的直流电压表值,直到200g砝码加完。
记下实验结果填入表2-1,关闭电源。
根据表2-1计算系统灵敏度S:S=Δu/ΔW(Δu输出电压变化量;ΔW重量变化量);计算非线性误差:δf1=Δm/y F·S×100%式中Δm为输出电压值(多次测量时为平均值)与拟合直线的最大偏差;y F·S为满量程输出平均值。
实验一 常见信号的MATLAB 表示及运算一、实验目的1.熟悉常见信号的意义、特性及波形2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法二、实验原理信号一般是随时间而变化的某些物理量。
按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示。
若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。
MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。
根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。
在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了。
下面分别介绍连续时间信号和离散时间信号的MATLAB 表示及其波形绘制方法。
1.连续时间信号所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。
从严格意义上讲,MATLAB 并不能处理连续信号。
在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。
在MATLAB 中连续信号可用向量或符号运算功能来表示。
⑴ 向量表示法对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t =的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔。
向量f 为连续信号()f t 在向量t 所定义的时间点上的样值。
例如:对于连续信号sin()()()t f t Sa t t== ,我们可以将它表示成行向量形式,同时用绘图命令plot()函数绘制其波形。
信号检测与处理试验报告(二)题目:有噪声语音信号降噪处理班级:2011级控制工程姓名:耿翔学号:2011331110101日期:2012年5月25日目录1 绪论1b5E2R。
2 课程设计内容1p1Ean。
3 课程设计地具体实现2DXDiT。
3.1 语音信号地采集2RTCrp。
3.2 语音信号地时频分析25PCzV。
3.3 语音信号加噪与频谱分析3jLBHr。
3.4 设计FIR数字滤波器4xHAQX。
3.5 用滤波器对加噪语音信号进行滤波8LDAYt。
3.6 比较滤波前后语音信号地波形及频谱8Zzz6Z。
3.7回放语音信号11dvzfv。
4小结12rqyn1。
1 绪论数字信号处理是利用计算机或专用处理设备,以数值计算地方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用地目地.它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛地应用.具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点.Emxvx。
滤波器设计在数字信号处理中占有极其重要地地位,FIR数字滤波器和IIR滤波器是滤波器设计地重要组成部分.利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器.课题基于MATLAB有噪音语音信号处理地设计与实现,综合运用数字信号处理地理论知识对加噪声语音信号进行时域、频域分析和滤波.通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现.SixE2。
FIR滤波器结构上主要是非递归结构,没有输出到输入地反馈,系统函数H (z)在处收敛,极点全部在z = 0处(因果系统),因而只能用较高地阶数达到高地选择性.FIR数字滤波器地幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量地信号经过fir滤波器后他们地时间差不变,这是很好地性质.FIR数字滤波器是有限地单位响应也有利于对数字信号地处理,便于编程,用于计算地时延也小,这对实时地信号处理很重要.FIR滤波器因具有系统稳定,易实现相位控制,允许设计多通带(或多阻带)滤波器等优点收到人们地青睐.6ewMy。
武汉工程大学电气信息学院2、四、思考:1、为什么图二中t=0处曲线是间断的,如何使其成为连续的曲线?因为axis函数对纵坐标的的上边界限定过小,使图形在边界处不能完整的显示。
2.3.四、思考:1、代数运算符号*和.*的区别是?*是矩阵相乘,是矩阵A行元素与B的列元素相乘的和.*是数组相乘,表示数组A和数组B中的对应元素相乘实验内容实验三连续时间信号的卷积一、实验内容1、已知两连续时间信号如下图所示,绘制信号f1(t)、f2(t)及卷积结果f(t)的波形;设时间变化步长dt分别取为0.5、0.1、0.01,当dt取多少时,程序的计算结果就是连续时间卷积的较好近似?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。
3、选做:编程计算连续时间周期信号的三角形式傅里叶级数展开的系数二、实验方法与步骤1、将方波信号展开成三角形式Fourier 级数并分别采用频域矩形窗和Hanning 窗加权 方波展开的三角式傅立叶级数为:()()t k k t x L k 1,5,3,1sin 4ωπ⋅∑=∞= 采用频域矩形窗加权,则展开式变为:()()()[]t k k t x K k 1012sin 124ωπ+⋅+∑==a0=2/T*int(f,t,0,T); %求函数f对t从0到T的定积分a0=simplify(a0) %得出结果syms kfa=t*cos(k*w*t);fb=t*sin(k*w*t);ak=2/T*int(fa,t,0,T); %求函数fa对t从0到T的定积分bk=2/T*int(fb,t,0,T); %求函数fb对t从0到T的定积分ak=simplify(ak)bk=simplify(bk)三、实验数据与结果分析1.2.3.根据绘制的幅频特性曲线,系统具有低通滤波特性2.根据绘制的幅频特性曲线,系统具有带通滤波特性。
合肥工业大学电气与自动化工程学院 实验报告专业 班级 学号 姓名 日期 指导教师 共 页 第 页实验二 数字滤波器设计实验报告要求:1、实验内容为实验指导书实验三第2题、实验四第1题;2、实验报告包括四部分:实验原理、实验内容、实验程序、结果分析;分别占实验报告总成绩的20%,10%,30%,40%;3、实验程序及结果分析如有内容雷同,均不给分;4、实验程序、结果分析内容可以直接打印。
【 项目一 双线性变换法设计巴特沃斯滤波器 】实验内容:给定待设计的数字高通和带通滤波器的技术指标如下:(1) HP :Hz f p 400=,Hz f s 300=,Hz F s 1000=,dB p 3=α,dB s 35=α。
(2) BP :Hz f sl 200=,Hz f 3001=,Hz f 4002=,Hz f sh 500=,Hz F s 2000=,dB p 3=α,dB s 40=α。
试用双线性变换分别设计满足上述要求的巴特沃斯滤波器,给出其系统函数、对数幅频及相频曲线。
实验原理:为了克服脉冲响应不变法中产生频率响应的混叠失真,采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T ~π/T 之间,再用z =e sT转换到Z 平面上。
也就是说,第一步先将整个S 平面压缩映射到S 1平面的-π/T ~π/T 一条横带里;第二步再通过标准变换关系z =e s 1T将此横带变换到整个Z 平面上去。
这样就使S 平面与Z 平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象。
由下图看出,在零频率附近,模拟角频率Ω与数字频率ω之间的变换关系接近于线性关系;但当Ω进一步增加时,ω增长得越来越慢,最后当Ω→∞时,ω终止在折叠频率ω=π处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。
将S 平面j Ω轴压缩变换到s1平面j Ω轴上的-π/T 到π/T 一段,可以采用以下变换关系:⎪⎭⎫⎝⎛Ω=Ω2tan 1T 这样±∞=Ω变换到Tπ±=Ω1,0=Ω变换到01=Ω,可将上式写成22221111T jT j T jTjeee e j Ω-ΩΩ-Ω+-=Ω令s j =Ω,11s j =Ω,解析延拓到整个s 平面和s1平面,可得22221111T s T s T s T s eee e s --+-=再将1s 平面通过以下变换关系映射到z 平面,即T s e z 1=从而得到s 平面和z 平面的单值映射关系为1111--+-=z z s , ss z -+=11一般来说,为了使模拟滤波器的某一频率与数字滤波器的任一频率有对应关系,可引入待定常数c ,⎪⎭⎫ ⎝⎛Ω=Ω2tan 1Tc ()Ts Ts e e c s 1111--+-=将Ts ez 1=代入到上式,可得1111--+-=z zcs , sc s c z -+=在MATLAB 中,双线性Z 变换可以通过bilinear 函数实现,其调用格式为:[Bz ,Az]=bilinear(B ,A ,Fs);其中B ,A 为模拟滤波器传递函数G (s )的分子分母多项式的系数向量,而Bz ,Az 为数字滤波器的传递函数H (z )的分子分母多项式的系数向量。
Harbin Institute of Technology信号检测与处理实验报告2016年01月问题:最小二乘估计一次完成算法1.问题描述考虑仿真对象)()2(5.0)1()2(7.0)1(5.1)(k v k u k u k z k z k z +-+-=-+-- 其中,)(k v 是服从正态分布的白噪声N )1,0(。
输入信号采用4阶M 序列(伪随机序列模拟白噪声),幅度为1。
试对模型参数进行估计。
2.问题分析设输入信号的取值是从k =1到k =16的M 序列,由最小二乘估计原理可知,待估计参数LS θˆ为LS θˆ=L τL 1L τL z H )H H -(。
其中,被估计参数LSθˆ、观测矩阵z L 、H L 的表达式为⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=2121ˆb b a a LSθ , ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=)16()4()3(z z z L z ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡------=)14()2()1()15()3()2()14()2()1()15()3()2(u u u u u u z z z z z z L H通过matlab 对系统进行仿真,仿真算法程序流程图如图1所示。
程序代码如下:%二阶系统的最小二乘一次完成算法估计程序u=[-1,1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,1,1]; %系统估计的输入信号为一个周期的M序列z=zeros(1,16); %定义输出观测值的长度for k=3:16z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2); %用理想输出值作为观测值endsubplot(3,1,1) %画三行一列图形窗口中的第一个图形stem(u) %画输入信号u的径线图形subplot(3,1,2) %画三行一列图形窗口中的第二个图形i=1:1:16; %横坐标范围是1到16,步长为1plot(i,z) %图形的横坐标是采样时刻i, 纵坐标是输出观测值z, 图形格式为连续曲线subplot(3,1,3) %画三行一列图形窗口中的第三个图形stem(z),grid on %画出输出观测值z的径线图形,并显示坐标网格u,z %显示输入信号和输出观测信号%L=14 %数据长度HL=[-z(2) -z(1) u(2) u(1);-z(3) -z(2) u(3) u(2);-z(4) -z(3) u(4) u(3);-z(5) -z(4) u(5) u(4);-z(6) -z(5) u(6) u(5);-z(7) -z(6) u(7) u(6);-z(8) -z(7) u(8) u(7);-z(9) -z(8) u(9) u(8);-z(10) -z(9) u(10) u(9);-z(11) -z(10) u(11) u(10);-z(12) -z(11) u(12) u(11);-z(13) -z(12) u(13) u(12);-z(14) -z(13) u(14) u(13);-z(15) -z(14) u(15) u(14)] %给样本矩阵HL赋值ZL=[z(3);z(4);z(5);z(6);z(7);z(8);z(9);z(10);z(11);z(12);z(13);z(14);z(15);z(16)] % 给样本矩阵z L赋值%Calculating Parametersc1=HL'*HL; c2=inv(c1); c3=HL'*ZL; c=c2*c3 %计算并显示%Display Parametersa1=c(1), a2=c(2), b1=c(3),b2=c(4) %从中分离出并显示a1 、a2、b1、b2%End实验运行结果如下:>>u =[ -1,1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,1,1]z =[ 0,0,0.5000,0.2500,0.5250,2.1125, 4.3012,6.4731,6.1988,3.2670,-0.9386, -3.1949,-4.6352,6.2165,-5.5800,-2.5185]HL =0 1.0000 -1.0000-0.5000 0 -1.0000 1.0000-0.2500 -0.5000 1.0000 -1.0000-0.5250 -0.2500 1.0000 1.0000-2.1125 -0.5250 1.0000 1.0000-4.3012 -2.1125 1.0000 1.0000-6.4731 -4.3012 -1.0000 1.0000-6.1988 -6.4731 -1.0000 -1.0000-3.2670 -6.1988 -1.0000 -1.00000.9386 -3.2670 1.0000 -1.00003.1949 0.9386 -1.0000 1.00004.6352 3.1949 -1.0000 -1.00006.2165 4.6352 1.0000 -1.00005.58006.2165 1.0000 1.0000ZL =[ 0.5000,0.2500,0.5250,2.1125,4.3012,6.4731,6.1988,3.2670,-0.9386,-3.1949, -4.6352,-6.2165,-5.5800,-2.5185]Tc =[ -1.5000,0.7000,1.0000,0.5000]Ta1 = -1.5000a2 = 0.7000b1 = 1.0000b2 =0.5000输入信号与输出观测值波形如图2所示。
《测试信号分析与处理》实验指导书翟任何王明武编写适用专业:测控专业陕西理工学院机械工程学院二零壹零年十月目录实验一:数字滤波器的设计 (2)实验二:数字振荡器的实现 (14)12实验一:数字滤波器的设计实验学时:4 实验类型:综合 实验要求:必修一、实验目的:1、熟悉Matlab 界面并进行操作。
2、掌握数字滤波器的计算机仿真方法。
2、掌握用双线性变换法设计IIR 数字滤波器的原理与方法,通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。
3、掌握用窗函数法设计FIR 数字滤波器的原理与方法,了解各种窗函数对滤波特性的影响。
二、实验内容:(一)IIR 数字滤波器设计(1)用双线性变换法设计一个巴特沃斯低通IIR 数字滤波器,设计指标参数为:在通带内频率低于0.2pi 时,最大衰减小于1dB;在阻带内[0.3pi , pi] 频率区间上,,最小衰减大于15dB ;(2)以 0.02pi 为采样间隔,打印出数字滤波器在频率区间[ 0, 0.5pi]上的幅频响应特性曲线;(3)用所设计的滤波器对实际心电图信号采样序列(在本实验后面给出)进行仿真滤波处理,并分别打印出滤波前后的心电图波形图,观察总结滤波作用与效果。
(二)FIR 数字滤波器设计(1)用四种窗函数设计线性相位低通FIR 数字滤波器,截止频率π/4rad ,N=256。
(2)绘制相应的幅频特性曲线,观察3dB 带宽和20dB 带宽以及阻带最小衰减。
(3)比较四种窗函数对滤波器特性的影响。
三、实验原理:(一)用双线形变换法设计IIR 数字低通滤波器 脉冲响应不变法的主要缺点是会产生频谱混叠现象,使数字滤波器的频响偏离模拟滤波器的频响特性,产生的原因是模拟低通滤波器不是带限于折叠频率π/T ,在数字化后产生了频谱混叠,再通过映射关系 ,使数字滤波器在ω=π附近形成频谱混叠现象。
为了克服这一缺点,可以采用非线性频率压缩方法,将整个模拟频率轴压缩到±π/T 之间,再用 转换到Z 平面上。
信号分析与处理实验报告
班级_________________________
学生姓名_________________________
学号_________________________
所在专业_________________________
成绩_________________________
上海大学
二0 0 年月日
图1-2 芯片参数设置界面
4. 利用数字公式编程生成正弦波、噪声或三角波等数字信号,可以选择其中一种信号,
图3-1 滤波器的种类
下图是用带通滤波器消除信号钢管无损探伤信号中由于传感器晃动带来的低频干扰,以及由于电磁噪声等带来的高频干扰的例子。
用滤波器消除信号中的干扰
图3-3 滤波器的作用实验
下面是该实验的装配图和信号流图,图中线上的数字为连接软件芯片的软件总线数
图3-4 滤波器的作用实验装配图。
吉林大学仪器科学与电气工程学院College of Instrumentation & Electrical Engineering,Jilin University信号分析与处理实践实习报告姓名陈玉达班级651306学号65130637专业电气工程及其自动化指导教师刘长胜“信号分析与处理实践”实习报告 姓名 陈玉达 学号 65130637 专业 电气工程及其自动化实习时间2015年7月18~7月28日 指导教师 刘长胜 实习内容1信号时域分析1、对线性卷积、周期卷积和循环卷积的理解。
线性卷积在无穷区间的求和,两个不同长度的序列可以进行线性卷积。
周期卷积在一个主值周期内求和,只有同周期的两个序列才能进行周期卷积,且周期不变。
循环卷积可以看作周期卷积后再取主值序列。
2、连续卷积积分与离散卷积和的关系。
3、对采样定理的理解。
计算机只能识别离散信号。
在进行模拟信号的离散过程中,采样频率必须大于信号最高频率的2倍时。
否则,信号会混叠,无法恢复原信号。
4、实习具体内容(不必给出程序代码,只需依次表述所做内容以及程序执行的结果,并适当对结果进行分析)(1)画出x (t )=sin (100*Pi*t )+1的波形和频谱执行结果:连续:卷积积分:离散:卷积和: ∑⎰∞+-∞=∞+∞-∆-=-=*=k t k n h k x d t h x t h t x t y ][][)()()()()(τττ ∑+∞=-∞=-=*=k k k n h k x n h n x n y ][][][][][ 关系:在matlab 中,卷积积分是通过离散转化成卷积和求取的。
分析:画图结果与利用欧拉公式计算的数值相符合。
频域与时域时信号表示的两种办法。
有时可以通过不同的表示方式从而信号更加直观。
(2)画出周期1s,幅值为2的方波波形和频谱执行结果:分析:对于方波信号,首先频率域有n次谐波,需要自己确定采样率,采样率的高低决定了信号的失真程度。
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,则三信号采样后不会发生频率混叠,可运行以下的程序,观察序列的频谱。
n=1:300;t=(n-1)*1/300;g1=cos(6*pi*t);g2=cos(14*pi*t);g3=cos(26*pi*t);g4=cos(34*pi*t);plot(t,g1,t,g2,t,g3,t,g4);k=1:300;s=k*0.1;q=cos(6*pi*k/30);q1=cos(14*pi*k/30);q2=cos(26*pi*k/30);q3=cos(34*pi*k/30);hold on; plot(s(1:10),q1(1:10),'bd');figuresubplot(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)))subplot(2,2,4);plot(k/10,abs(fft(q3)))问题与实践:保证采样后的信号不发生混叠的条件是什么?若信号的最高频率为17Hz,采样频率为30Hz,问是否会发生频率混叠?混叠成频率为多少Hz的信号?编程验证你的想法。
测控1005班齐伟0121004931725 (18号)实验一差分方程、卷积、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')freqz.m%用来在已知B(z),A(z)的情况下求出系统的频率响应;% 求如下三个系统的幅频响应;b1=[1/2,1/2];b2=[1/2,-1/2];b3=[1 0 1];b3=b3/2;[H1,P]=freqz(b1);subplot(331);plot(P/2/pi,abs(H1));grid on;[H2,P]=freqz(b2);subplot(332);plot(P/2/pi,abs(H2));grid on;[H3,P]=freqz(b3);subplot(333);plot(P/2/pi,abs(H3));grid on;zplane(b,a); % 求并画出所给系统的极零图b=[1 -1.7 1.53 -0.68];a=1;subplot(222);zplane(b,a); % 求并画出第二个系统的极零图、2,程求出下列问题的解1)、滤波器的差分方程为:y[n]=x[n]-0.8x[n-1]-0.5y[n-1]求出此滤波器脉冲响应和阶跃响应的前十个采样值。
b=[1,-.8,];a=[1,.5];[h,t]=impz(b,a,10);subplot(221)stem(t,h,'.');grid on;ylabel('h(n)');xlabel('n');x=ones(1,10);t=1:10;y=filter(b,a,x);subplot(222)stem(t,y);grid on;ylabel('x(n) and y(n)');xlabel('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;五、实验讨论和分析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 。