合肥工业大学宣城校区 信号分析与处理实验报告
- 格式:doc
- 大小:561.00 KB
- 文档页数:9
实验一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 的频谱图有何区别。
时域采样定理实验日志1实验题目:时域采样定理实验目的:1. 学习掌握matlab 的编程知识及其matalab 在数字信号处理方面常用的12个函数2. 熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样定理的理解。
实验要求:1;能对时域上的信号转化为频域上的信号。
2:学会用两种不同的方法保存matlab程序。
3:对给定的模拟信号X a(t) = Ae sin(Ω0t )U (t ) 进行采样!(fm=500),然后把fm改为1500.看看图像的变化实验主要步骤:1:打开matlab编程软件2:输入代码>>n = 0:50-1;>>fs =1000;>>string ='1000';>>Xa=444.128*ex p((-222.144)*n/fs).*sin(222.144*n/fs);>>DF T(Xa,50,str i ng);实验结果:思考题:1,观察实验内容1 中,在分别采用500Hz,1000Hz,1500Hz采样后,对所得的到的信号Xa(n) 绘制的3 个幅频特性曲线有何不同,并分析为什么?结合时域采样定理的内容对图形进行解释;心得体会:时域离散系统及其响应实验日志21:实验题目时域离散系统及其响应2实验目的:1. 继续熟悉掌握m atlab 的使用和编程。
2. 熟悉掌握时域离散系统的时域特性。
并验证时域卷积定理3:实验要求1:能熟练的运用DFT函数,以及DFT函数调用的返回值,并且能运用conv卷积函数2:对于不同的定义域之间的函数卷积,取相同的定义域部分4:实验步骤编写DFT代码编写conv卷积代码:5:实验结果系统h1 (n) = δ(n) + 2.5δ(n −1) + 2.5δ(n −2) + δ(n −3)的图像及其作DFT变换的图像如下输入为x1 (n) = δ(n)的图像及其DFT变换的图像是关于h1和x1作卷积后的变换,以及DFT变换后的图像输入信号为x2 (n) = R10 (n)上述信号作卷积及其DFT变换后的图像输入信号为x3 (t ) = R5 (n)图像及其DFT变换6:实验思考1.比较y1 (n) 和h1 (n) 的时域和频域特性,注意它们之间有无差别,用所学理论解释所得结果。
《信号分析与处理》实验报告华北电力大学前言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平台进行复杂的复数运算,在一定程度上简化了程序,并添加了简单的检错代码,码位倒置我通过查阅资料,使用了一些函数,涉及到十-二进制转换,数字-文本转换,二-文本转换,相对较复杂,蝶运算我参考了书上了流程图,做些许改动就能直接实现。
第1篇一、实验目的1. 理解信号资源的基本概念和分类。
2. 掌握信号采集、处理和分析的方法。
3. 分析不同信号资源的特点和适用场景。
4. 提高信号处理和分析的实际应用能力。
二、实验背景信号资源在通信、遥感、生物医学等领域具有广泛的应用。
本实验通过对不同类型信号资源的采集、处理和分析,使学生了解信号资源的基本特性,掌握信号处理和分析的方法。
三、实验内容1. 信号采集(1)实验设备:信号发生器、示波器、数据采集卡、计算机等。
(2)实验步骤:1)使用信号发生器产生正弦波、方波、三角波等基本信号。
2)将信号通过数据采集卡输入计算机,进行数字化处理。
3)观察示波器上的波形,确保采集到的信号准确无误。
2. 信号处理(1)实验设备:MATLAB软件、计算机等。
(2)实验步骤:1)利用MATLAB软件对采集到的信号进行时域分析,包括信号的时域波形、平均值、方差、自相关函数等。
2)对信号进行频域分析,包括信号的频谱、功率谱、自功率谱等。
3)对信号进行滤波处理,包括低通、高通、带通、带阻滤波等。
4)对信号进行时频分析,包括短时傅里叶变换(STFT)和小波变换等。
3. 信号分析(1)实验设备:MATLAB软件、计算机等。
(2)实验步骤:1)分析不同类型信号的特点,如正弦波、方波、三角波等。
2)分析信号在不同场景下的应用,如通信、遥感、生物医学等。
3)根据实验结果,总结信号资源的特点和适用场景。
四、实验结果与分析1. 时域分析(1)正弦波信号:具有稳定的频率和幅度,适用于通信、测量等领域。
(2)方波信号:具有周期性的脉冲特性,适用于数字信号处理、数字通信等领域。
(3)三角波信号:具有平滑的过渡特性,适用于模拟信号处理、音频信号处理等领域。
2. 频域分析(1)正弦波信号:频谱只有一个频率成分,适用于通信、测量等领域。
(2)方波信号:频谱包含多个频率成分,适用于数字信号处理、数字通信等领域。
(3)三角波信号:频谱包含多个频率成分,适用于模拟信号处理、音频信号处理等领域。
实验一图像信号频谱分析及滤波一:实验原理FFT不是一种新的变化,而是DFT的快速算法。
快速傅里叶变换能减少运算量的根本原因在于它不断地把长序列的离散傅里叶变换变为短序列的离散傅里叶变换,在利用的对称性和周期性使DFT运算中的有些项加以合并,达到减少运算工作量的效果。
为了消除或减弱噪声,提取有用信号,必须进行滤波,能实现滤波功能的系统成为滤波器。
按信号可分为模拟滤波器和数字滤波器两大类。
数字滤波器的关键是如何根据给定的技术指标来得到可以实现的系统函数。
从模拟到数字的转换方法很多,常用的有双线性变换法和冲击响应不变法,本实验主要采用双线性变换法。
双线性变换法是一种由s平面到z平面的映射过程,其变换式定义为:数字域频率与模拟频率之间的关系是非线性关系。
双线性变换的频率标度的非线性失真是可以通过预畸变的方法去补偿的。
变换公式有Ωp=2/T*tan(wp/2)Ωs=2/T*tan(ws/2)二:实验内容1.图像信号的采集和显示选择一副不同彩色图片,利用Windows下的画图工具,设置成200*200像素格式。
然后在Matlab软件平台下,利用相关函数读取数据和显示图像。
要求显示出原始灰度图像、加入噪声信号后的灰度图像、滤波后的灰度图像。
2.图像信号的频谱分析要求分析和画出原始灰度图像、加入噪声信号后灰度图像、滤波后灰度图像信号的频谱特性。
3.数字滤波器设计给出数字低通滤波器性能指标:通带截止频率fp=10000 Hz,阻带截止频率fs=15000 Hz,阻带最小衰减Rs=50 dB,通带最大衰减Rp=3 dB,采样频率40000Hz。
三:实验程序clear allx=imread('D:\lan.jpg');%原始彩色图像的数据读取x1=rgb2gray(x);%彩色图像值转化为灰度图像值[M,N]=size(x1);%数据x1的长度,用来求矩阵的大小x2=im2double(x1);%unit8转化为double型x3=numel(x2);%计算x2长度figure(1);subplot(1,3,1);imshow(x2);title('原始灰度图')z1=reshape(x2,1,x3);%将二维数据转化成一维数据g=fft(z1);%对图像进行二维傅里叶变换mag=fftshift(abs(g));%fftshift是针对频域的,将FFT的DC分量移到频谱中心K=40000;Fs=40000;dt=1/Fs;n=0:K-1;f1=18000;z=0.1*sin(2*pi*f1*n*dt);x4=z1+z;%加入正弦噪声f=n*Fs/K;y=fft(x4,K);z2=reshape(x4,M,N);%将一维图转换为二维图subplot(1,3,2);imshow(z2);title('加入噪声后')g1=fft(x4);mag1=fftshift(abs(g1));%设计滤波器ws=0.75*pi;wp=0.5*pi;fs=10000;wp1=2*fs*tan(wp/2);ws1=2*fs*tan(ws/2);rs=50;rp=3;% [n,wn]=buttord(wp/pi,ws/pi,rp,rs);% [bz,az]=butter(n,wn);[n,wn]=buttord(wp1,ws1,rp,rs,'s');[z,p,k]=buttap(n);[b,a]=zp2tf(z,p,k);[B,A]=lp2lp(b,a,wn);[bz,az]=bilinear(B,A,fs);[h,w]=freqz(bz,az,128,fs);L=numel(z2);z3=reshape(z2,1,L);x6=filter(bz,az,double(z3));x7=reshape(x6,M,N);subplot(1,3,3);imshow(x7);g2=fft(x6);mag2=fftshift(abs(g2));title('滤波后')%建立频谱图figure(2);subplot(1,3,1);plot(mag);title('原始Magnitude')subplot(1,3,2);plot(mag1);title('加噪声Magnitude')subplot(1,3,3);plot(mag2);title('滤波后Magnitude')figure(3);subplot(1,2,1)plot(w,abs(h));xlabel('f');ylabel('h');title('滤波器幅谱');subplot(1,2,2);plot(w,angle(h));title('滤波器相谱');四:实验结果与分析图一图二分析:由图二可以知道加入噪声后的幅值谱和原始图的幅值谱明显多了两条幅值线,而这两条幅值线就是我们对原始灰度图加入的正弦噪声,而相应的图一中的加噪声后的图与原始图相比,出现了明显的变化。
合肥工业大学电气与自动化工程学院实验报告自动化专业班级学号姓名日期指导教师黄云志共页第页成绩实验一含噪声语音信号频谱分析及滤波实验报告要求:1、实验报告包括四部分:实验原理、实验内容、实验程序、结果分析;分别占实验报告总成绩的10%,10%,40%,40%;2、实验程序及结果分析如内容雷同,均不给分;一、实验原理含噪声语音信号通过低通滤波器,高频的噪声信号会被过滤掉,得到清晰的无噪声语音信号。
二、实验内容录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在语音信号中增加正弦噪声信号(自己设置几个频率的正弦信号),对加入噪声信号后的语音信号进行频谱分析;给定滤波器的性能指标,采用窗函数法和双线性变换设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比试听,分析信号的变化。
给出数字低通滤波器性能指标:如,通带截止频率fp=10000Hz,阻带截止频率fs=12000Hz (可根据自己所加入噪声信号的频率进行阻带截止频率设置),阻带最小衰减Rs=50dB,通带最大衰减Rp=3dB(也可自己设置),采样频率根据自己语音信号采样频率设定。
三、实验程序1.原始信号fs=22050;%设置采样频率x1=wavread('C:\Users\m\Documents\FFOutput\无标题.wav');%读取声音sound(x1,fs);%播放原始声音y1=fft(x1,length(x1));%FFTf=fs*(0:511)/1024;figure(1);%建立图形plot(x1);%原始信号时域图形title('原始语音信号时域波形')xlabel('时间');ylabel('幅值');axis([0,5*10^4,-2,2]);figure(2);plot(f,abs(y1(1:512)))%做原始语音信号的FFT频谱图xlabel('频率');ylabel('幅度');title('原始语音信号FFT频谱幅频')2.加噪声clear allfs=22050;%设置采样频率x1=wavread('C:\Users\m\Documents\FFOutput\无标题.wav');%读取声音f=fs*(0:511)/1024;t=0:1/22050:(length(x1)-1)/22050;d=[0.5*cos(2*pi*10000*t)]';%加噪声x2=x1+d;sound(x2,22050);%播放加噪音后的信号y2=fft(x2);figure(3)plot(t,x2)%加噪信号时域图形title('加噪声后的时域信号波形'); xlabel('时间');ylabel('幅值');figure(4)subplot(211);plot(abs(x1));title('原始语音信号频谱');xlabel('频率');ylabel('幅值');subplot(212);plot(abs(y2));title('加噪声后的信号频谱'); xlabel('频率');ylabel('幅值');3.设计IIR滤波器clear allfs=22050;wp=0.4*pi;ws=0.7*pi;rp=3;rs=50;x1=wavread('C:\Users\m\Documents\FFOutput\无标题.wav');%读取声音f=fs*(0:22499)/22500;%F=([1:N]-1)*Fs/N;%换算成实际的频率值t=0:1/22050:(length(x1)-1)/22050;%定义噪声信号d=[0.7*sin(3*pi*10000*t)]';x2=x1+d;%加噪声[n,wn]=buttord(wp/pi,ws/pi,rp,rs);%设计IIR滤波器[bz,az]=butter(n,wn/pi);[h,w]=freqz(bz,az,512,fs);%滤波器幅频响应x3=filter(bz,az,x2);%滤波y0=fft(x2,22500);y1=fft(x3,22500);sound(x3,22500);%播放滤波后的声音figure(1)plot(abs(h));%滤波器幅频响应图title('滤波器幅频响应图')figure(2)subplot(2,1,1)plot(t,x2)%画出滤波前的时域图title('滤波前的时域波形');subplot(2,1,2)plot(t,x3);title('滤波后的时域波形');figure(3)subplot(211)plot(f,abs(y0(1:22500)));title('滤波前频谱')subplot(212)plot(f,abs(y1(1:22500)));%滤波后频谱title('滤波后频谱')4.设计FIR滤波器clear allfs=22050;%设置采样频率x1=wavread('C:\Users\m\Documents\FFOutput\无标题.wav');%读取声音f=fs*(0:22499)/22500;%F=([1:N]-1)*Fs/N;%换算成实际的频率值t=0:1/44100:(length(x1)-1)/44100;%定义噪声信号d=[0.5*sin(2*pi*80000*t)]';x2=x1+d;%加噪声N=512;b1=fir1(N,0.3,hanning(N+1));%设计FIR滤波器[h,w]=freqz(b1,1,512,fs);%滤波器幅频响应x3=filter(b1,1,x2);%滤波y0=fft(x2,22500);y1=fft(x3,22500);sound(x3,22500);%播放滤波后的声音figure(1)plot(w,abs(h));%滤波器幅频响应图title('FIR滤波器幅频响应图')figure(2)subplot(211)plot(f,abs(y0(1:22500)));title('滤波前频谱')subplot(212)plot(f,abs(y1(1:22500)));%滤波后频谱title('滤波后频谱')。
第1篇一、实验背景信号处理是电子工程、通信工程、自动控制等领域的基础课程。
通过信号处理实验,可以使学生深入理解信号处理的基本原理和方法,提高实际操作能力和问题解决能力。
本次实验旨在让学生熟悉信号处理的基本操作,掌握信号的时域分析、频域分析、滤波技术以及信号恢复方法。
二、实验目的1. 熟悉信号处理软件(如MATLAB)的使用方法;2. 掌握信号的时域分析、频域分析、滤波技术以及信号恢复方法;3. 培养学生分析问题和解决问题的能力。
三、实验内容1. 信号时域分析(1)信号的基本运算:信号的加减、乘除、微分、积分等;(2)信号的波形显示:使用MATLAB绘制信号的时域波形;(3)信号的频谱分析:使用MATLAB绘制信号的频谱图。
2. 信号频域分析(1)信号的快速傅里叶变换(FFT):使用MATLAB实现信号的FFT变换;(2)信号的频谱分析:使用MATLAB绘制信号的频谱图;(3)信号的频谱滤波:使用MATLAB实现信号的频谱滤波。
3. 信号滤波技术(1)低通滤波器:使用MATLAB实现低通滤波器的设计和实现;(2)高通滤波器:使用MATLAB实现高通滤波器的设计和实现;(3)带通滤波器:使用MATLAB实现带通滤波器的设计和实现;(4)滤波器性能分析:分析滤波器的频率响应、幅频特性、相频特性等。
4. 信号恢复方法(1)信号重建:使用MATLAB实现信号的重建;(2)信号压缩:使用MATLAB实现信号的压缩;(3)信号恢复:使用MATLAB实现信号的恢复。
四、实验结果与分析1. 信号时域分析通过实验,我们成功绘制了信号的时域波形,分析了信号的基本运算和波形变化。
同时,我们还对信号的频谱进行了分析,了解了信号的频率成分。
2. 信号频域分析通过FFT变换,我们成功实现了信号的频谱分析,绘制了信号的频谱图。
实验结果表明,信号的频谱分布与信号的时域波形密切相关。
3. 信号滤波技术通过设计低通、高通、带通滤波器,我们实现了信号的滤波。
合肥工业大学实验报告自动化专业 2 班级学号201221**** 姓名大方日期指导教师共页第页成绩实验一含噪声语音信号频谱分析及滤波一、实验原理1.1数字滤波器在工程实际中遇到的信号经常伴有噪声。
为了消除或减弱噪声,提取有用的信号,必须进行滤波。
数字滤波器,是数字信号处理中极其重要的一部分。
随着信息时代和数字技术的发展,收到人们越来越多的重视。
数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。
数字滤波器的种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器。
1.2 采样定理采样定理又称奈奎斯特定理,在进行模拟/数字信号的转换过程中,当采样频率fs不小于信号中最高频率fm的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。
1.3 FIR数字滤波器设计原理FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H(z)处于收敛,极点全在z=0处(因果系统),因而只能用较高的阶数达到高的选择性。
FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变,这是很好的性质。
FIR滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。
FIR滤波器因具有系统稳定,以实现相位控制,允许设计多通带滤波器等优点收到人们的青睐。
基于窗函数的FIR 数字滤波器的设计方法通常也称之为傅立叶级数法,是用一定宽度窗函数截取无限脉冲响应序列,获得有限长的脉冲响应序列,从而得到FIR 滤波器。
它是在时域进行的,由理想滤波器的频率响应推导出其单位冲激响应hd (n),再设计一个FIR数字滤波器的单位冲激响应h(n)去逼近hd (n)表示,由此得到的离散滤波器的系统传递函数Hd (z),该hd (n) 为无限长序列,因此Hd (z)是物理不可实现的。
实验一 常见信号的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()函数绘制其波形。
合肥工业大学实验报告自动化专业 2 班级学号201221**** 姓名大方日期指导教师共页第页成绩实验一含噪声语音信号频谱分析及滤波一、实验原理1.1数字滤波器在工程实际中遇到的信号经常伴有噪声。
为了消除或减弱噪声,提取有用的信号,必须进行滤波。
数字滤波器,是数字信号处理中极其重要的一部分。
随着信息时代和数字技术的发展,收到人们越来越多的重视。
数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。
数字滤波器的种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器。
1.2 采样定理采样定理又称奈奎斯特定理,在进行模拟/数字信号的转换过程中,当采样频率fs不小于信号中最高频率fm的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。
1.3 FIR数字滤波器设计原理FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H(z)处于收敛,极点全在z=0处(因果系统),因而只能用较高的阶数达到高的选择性。
FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变,这是很好的性质。
FIR滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。
FIR滤波器因具有系统稳定,以实现相位控制,允许设计多通带滤波器等优点收到人们的青睐。
基于窗函数的FIR 数字滤波器的设计方法通常也称之为傅立叶级数法,是用一定宽度窗函数截取无限脉冲响应序列,获得有限长的脉冲响应序列,从而得到FIR 滤波器。
它是在时域进行的,由理想滤波器的频率响应推导出其单位冲激响应hd (n),再设计一个FIR数字滤波器的单位冲激响应h(n)去逼近hd (n)表示,由此得到的离散滤波器的系统传递函数Hd (z),该hd (n) 为无限长序列,因此Hd (z)是物理不可实现的。
为了使系统变为物理可实现的,且使实际的FIR 滤波器频率响应尽可能逼近理想滤波器的频率响应,采用窗函数将无限脉冲响应hd (n)截取一段h(n)来近似表示hd (n),可得:h (n) = hd (n)w(n) ,从而有:式中N 表示窗口长度,这样H(z)就是物理可实现的系统。
并且从线性相位FIR滤波器的充要条件可知,为了获得线性相位FIR 数字滤波器的冲激响应h(n) ,那么序列h(n) 应有τ= (N −1) / 2的延迟。
由于窗函数的选择对结果起着重要的作用,针对不同的信号和不同的处理目的来确定窗函数的选择才能收到良好的效果。
1.4 IIR数字滤波器设计原理IIR滤波器采用递归型结构,即结构上带有反馈环路。
IIR滤波器运算结构通常由时延、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。
利用双线性变换设计IIR滤波器(巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数Ha(s),然后由Ha(s)通过双线性变换可得所要设计的IIR滤波器的系统函数H(z)。
如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率Wp 和Ws的转换,对ap和as指标不作变化。
边界频率的转换关系为∩=2/T tan(w/2)。
接着,按照模拟低通滤波器的技术指标根据相应设计公式求出滤波器的阶数N和3dB截止频率∩c ;根据阶数N 查巴特沃斯归一化低通滤波器参数表,得到归一化传输函数Ha(p);最后,将p=s/ ∩c 代入Ha(p)去归一,得到实际的模拟滤波器传输函数Ha(s)。
之后,通过双线性变换法转换公式s=2/T((1-1/z)/(1+1/z))得到所要设计的IIR滤波器的系统函数H(z)。
一、实验内容录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;并在语音信号中自行加入高斯白噪声信号,对加入噪声信号后的语音信号进行频谱分析;给定滤波器的性能指标,采用窗函数法和双线性变换设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比试听,分析信号的变化。
二、实验程序1、语音信号的采集利用Windows下的录音机,录制一段自己的话音,时间在1 s内。
然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,(可用默认的采样频率或者自己设定采样频率)。
I:\录音.wav 2、语音信号的频谱分析画出语音信号的时域波形%原始信号采集后的时域分析fs=10000;x1=wavread('I:\录音.wav');sound(x1,40000);y1=fft(x1,10240);figure(1);plot(x1) ;title('原始语音信号FF频谱');xlabel('点数N');ylabel('幅值');figure(2);plot(abs(y1(1:2000)));xlabel('频率/Hz');ylabel('幅值');3、然后对语音信号加入噪声信号后的语音时域分析,在采集得到的语音信号中加噪声信号,对语音信号进行快速傅里叶变换,得到信号的频谱物性,并用sound试听前后语音信号的不同%加入噪声信号后的语音信号的时域分析y=wavread('I:\录音.wav');y=y(:,1);subplot(2,2,1);plot(y);title('原始信号语音采样后时域信号');xlabel('时间轴');ylabel('幅值');%加入噪声后的时域曲线N=length(y)-1;n=0:1/fs:N/fs;x=sin(8000*pi*n);x=x.';z=y+x;subplot(2,2,2);plot(z);title('加噪后的时域曲线');sound(z,40000)分别设计IIR和FIR滤波器,对加入噪声信号的语音进行去噪,画出并分析去噪后的语音信号的频谱,并进行前后试听对比。
语音信号的主要频率范围为100~4000Hz,据此来给出数字低通滤波器性能指标;阻带最小衰减Rs=45dB,通带最大衰减Rp=3dB。
方法一:双线性变换法设计IIR数字滤波器%双线性变换法设计IIR滤波器fs=20000;x1=wavread('I:\录音.wav');x1=x1(:,1)t=0:1/20000:(size(x1)-1)/20000;d=sin(8000*pi*t);d=d.';x2=x1+d;wp=0.3*pi;ws=0.35*pi;Rp=3;Rs=45;Fs=22050;Ts=1/Fs;wp1=2/Ts*tan(wp/2);ws1=2/Ts*tan(ws/2);[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s');[Z,P,K]=buttap(N);[Bap,Aap]=zp2tf(Z,P,K);[b,a]=lp2lp(Bap,Aap,Wn);[bz,az]=bilinear(b,a,Fs);[H,W]=freqz(bz,az);figure(4);plot(W*Fs/(2*pi),abs(H));gridxlabel('频率/Hz');ylabel('频率响应幅度');title('Butterworth')f1=filter(bz,az,x2);figure(5);subplot(2,1,1); plot(t,x2);title('滤波前的时域波形');subplot(2,1,2);plot(t,f1);sound(f1,40000);F0=fft(f1,10240);figure(6)y2=fft(x2,10240);subplot(2,1,1);plot(abs(y2(1:2000)));title('滤波前的频谱');xlabel('Hz');ylabel('幅值'); subplot(2,1,2);plot(abs(F0(1:2000)));title('滤波后的频谱');xlabel('Hz');ylabel('幅值');方法二:FIR数字滤波器的设计% FIR滤波器设计fs=20000;x1=wavread('I:\录音.wav');x1=x1(:,1)f=fs*(0:1023)/1024;t=0:1/20000:(length(x1)-1)/20000;d=sin(8000*pi*t);d=d.';x2=x1+d;N=66;b1=fir1(N,0.3,hamming(N+1));M=128;f0=0:1/M:1-1/M;h1=freqz(b1,10,M);f1=filter(b1,10,x2);y0=fft(x2,10240);y00=fft(f1,10240);f1=10*f1;sound(f1,40000);figure(7)plot(f0,abs(h1));title('滤波器幅频响应图')figure(8);subplot(2,1,1); plot(t,x2);title('滤波前的时域波形');subplot(2,1,2);plot(t,f1);figure(9)subplot(2,1,1)plot(abs(y0(1:2000)));title('滤波前频谱')subplot(2,1,2)plot(abs(y00(1:2000))); title('滤波后频谱')三、结果分析1、采样的原始信号2、原始信号FFT频谱3、采样的原始信号加噪后对比4、IIR低通滤波器5、IIR低通滤波前后对比6、IIR低通滤波器滤波前后的频谱7、滤波器幅频响应图8、FIR低通滤波器滤波前后的波形分析9、FIR低通滤波器滤波前后的频谱分析。