信号分析与处理实验报告

合集下载

数字信号处理实验报告 3

数字信号处理实验报告 3

数字信号处理实验报告姓名:班级:通信学号:实验名称:频域抽样定理验证实验类型:验证试验指导教师:实习日期:2013.频域采样定理验证实验一. 实验目的:1. 加深对离散序列频域抽样定理的理解2.了解由频谱通过IFFT 计算连续时间信号的方法3.掌握用MATLAB 语言进行频域抽样与恢复时程序的编写方法 4、用MATLAB 语言将X(k)恢复为X(z)及X(e jw )。

二. 实验原理:1、1、频域采样定理: 如果序列x(n)的长度为M ,频域抽样点数为N ,则只有当频域采样点数N ≥M 时,才有x N (n)=IDFT[X(k)]=x(n),即可由频域采样X(k)无失真的恢复原序列 x(n)。

2、用X(k)表示X(z)的内插公式:∑-=-----=10111)(1)(N k kNNzWz k X Nz X内插函数: zWzkNNN z 1k111)(-----=ϕ频域内插公式:∑-=-=10)2()()(N K j k Nk X e X πωϕω频域内插函数:e N j N N )21()2sin()2sin(1)(--=ωωωωϕ三. 实验任务与步骤:实验一:长度为26的三角形序列x(n)如图(b)所示,编写MATLAB 程序验证频域抽样定理。

实验二:已知一个时间序列的频谱为X(e jw )=2+4e -jw +6e -j2w +4e -j3w +2e -j4w分别取频域抽样点数N为3、5和10,用IPPT计算并求出其时间序列x(n),用图形显示各时间序列。

由此讨论原时域信号不失真地由频域抽样恢复的条件。

实验三:由X32(k)恢复X(z)和X(e jw)。

四.实验结论与分析:实验一:源程序:M=26;N=32;n=0:M; %产生M长三角波序列x(n)xa=0:floor(M/2);xb= ceil(M/2)-1:-1:0; xn=[xa,xb];Xk=fft(xn,512); %1024点FFT[x(n)], 用于近似序列x(n)的TFX32k=fft(xn,32); %32点FFT[x(n)]x32n=ifft(X32k); %32点IFFT[X32(k)]得到x32(n)X16k=X32k(1:2:N); %隔点抽取X32k得到X16(K)x16n=ifft(X16k,N/2); %16点IFFT[X16(k)]得到x16(n)subplot(3,2,2);stem(n,xn,'.');box ontitle('(b) 三角波序列x(n)');xlabel('n');ylabel('x(n)');axis([0,32,0,20])k=0:511;wk=2*k/512;subplot(3,2,1);plot(wk,abs(Xk));title('(a)FT[x(n)]');xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|');axis([0,1,0,200])k=0:N/2-1;subplot(3,2,3);stem(k,abs(X16k),'.');box ontitle('(c) 16点频域');xlabel('k');ylabel('|X_1_6(k)|');axis([0,8,0,200])n1=0:N/2-1;subplot(3,2,4);stem(n1,x16n,'.');box ontitle('(d) 16点IDFT[X_1_6(k)]');xlabel('n');ylabel('x_1_6(n)');axis([0,32,0,20])k=0:N-1;subplot(3,2,5);stem(k,abs(X32k),'.');box ontitle('(e) 32点频域采样');xlabel('k');ylabel('|X_3_2(k)|');axis([0,16,0,200])n1=0:N-1;subplot(3,2,6);stem(n1,x32n,'.');box ontitle('(f) 32点IDFT[X_3_2(k)]');xlabel('n');ylabel('x_3_2(n)');axis([0,32,0,20])结果如下所示:实验一分析:序列x(n)的长度M=26,由图中可以看出,当采样点数N=16<M时,x16(n)确实等于原三角序列x(n)以16为周期的周期延拓序列的主值序列。

实验一 LabVIEW中的信号分析与处理

实验一 LabVIEW中的信号分析与处理

实验一LabVIEW中的信号分析与处理一、实验目的:1、熟悉各类频谱分析VI的操作方法;2、熟悉数字滤波器的使用方法;3、熟悉谐波失真分析VI的使用方法。

二、实验原理:1、信号的频谱分析是指用独立的频率分量来表示信号;将时域信号变换到频域,以显示在时域无法观察到的信号特征,主要是信号的频率成分以及各频率成分幅值和相位的大小,LabVIEW中的信号都是数字信号,对其进行频谱分析主要使用快速傅立叶变换(FFT)算法:·“FFT Spectrum(Mag-Phase).vi”主要用于分析波形信号的幅频特性和相频特性,其输出为单边幅频图和相频图。

·“FFT.vi”以一维数组的形式返回时间信号的快速傅里叶运算结果,其输出为双边频谱图,在使用时注意设置FFT Size为2的幂。

·“Amplitude and Phase Spectrum .vi”也输出单边频谱,主要用于对一维数组进行频谱分析,需要注意的是,需要设置其dt(输入信号的采样周期)端口的数据。

2、数字滤波器的作用是对信号进行滤波,只允许特定频率成份的信号通过。

滤波器的主要类型分为低通、高通、带通、带阻等,在使用LabVIEW中的数字滤波器时,需要正确设置滤波器的截止频率(注意区分模拟频率和数字频率)和阶数。

3、“Harmonic Distortion Analyzer .vi”用于分析输入的波形数据的谐波失真度(THD),该vi还可分析出被测波形的基波频率和各阶次谐波的电平值。

三、实验内容:(1) 时域信号的频谱分析设计一个VI,使用4个Sine Waveform.vi(正弦波形)生成频率分别为10Hz、30Hz、50Hz、100Hz,幅值分别为1V、2V、3V、4V的4个正弦信号(采样频率都设置为1kHz,采样点数都设置为1000点),将这4个正弦信号相加并观察其时域波形,然后使用FFT Spectrum(Mag-Phase).vi对这4个正弦信号相加得出的信号进行FFT频谱分析,观察其幅频和相频图,并截图保存。

信号分析与处理实验报告

信号分析与处理实验报告

《信号分析与处理》实验报告华北电力大学前言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平台进行复杂的复数运算,在一定程度上简化了程序,并添加了简单的检错代码,码位倒置我通过查阅资料,使用了一些函数,涉及到十-二进制转换,数字-文本转换,二-文本转换,相对较复杂,蝶运算我参考了书上了流程图,做些许改动就能直接实现。

信号资源分析实验报告(3篇)

信号资源分析实验报告(3篇)

第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)三角波信号:频谱包含多个频率成分,适用于模拟信号处理、音频信号处理等领域。

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

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

《测试信号分析与处理》实验一差分方程、卷积、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)

信号分析与处理实验报告(基于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.了解信号分析与处理的基本概念和方法;2.掌握信号分析与处理的基本实验操作;3.熟悉使用MATLAB进行信号分析与处理。

二、实验原理信号分析与处理是指利用数学和计算机技术对信号进行分析和处理的过程。

信号分析的目的是了解信号的特性和规律,通过对信号的频域、时域和幅频特性等进行分析,获取信号的频率、幅度、相位等信息。

信号处理的目的是对信号进行数据处理,提取信号的有效信息,优化信号的质量。

信号分析和处理的基本方法包括时域分析、频域分析和滤波处理。

时域分析主要是对信号的时变过程进行分析,常用的方法有波形分析和自相关分析。

频域分析是将信号转换到频率域进行分析,常用的方法有傅里叶级数和离散傅里叶变换。

滤波处理是根据信号的特性选择适当的滤波器对信号进行滤波,常用的滤波器有低通滤波器、高通滤波器、带通滤波器和带阻滤波器等。

三、实验内容1.信号的时域分析将给定的信号进行波形分析,绘制信号的时域波形图;进行自相关分析,计算信号的自相关函数。

2.信号的频域分析使用傅里叶级数将信号转换到频域,绘制信号的频域图谱;使用离散傅里叶变换将信号转换到频域,绘制信号的频域图谱。

3.滤波处理选择合适的滤波器对信号进行滤波处理,观察滤波前后的信号波形和频谱。

四、实验步骤与数据1.时域分析选择一个信号进行时域分析,记录信号的波形和自相关函数。

2.频域分析选择一个信号进行傅里叶级数分析,记录信号的频谱;选择一个信号进行离散傅里叶变换分析,记录信号的频谱。

3.滤波处理选择一个信号,设计适当的滤波器对信号进行滤波处理,记录滤波前后的信号波形和频谱。

五、实验结果分析根据实验数据绘制的图像进行分析,对比不同信号在时域和频域上的特点。

观察滤波前后信号波形和频谱的变化,分析滤波效果的好坏。

分析不同滤波器对信号的影响,总结滤波处理的原理和方法。

六、实验总结通过本次实验,我们了解了信号分析与处理的基本概念和方法,掌握了信号分析与处理的基本实验操作,熟悉了使用MATLAB进行信号分析与处理。

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

实验一图像信号频谱分析及滤波
一:实验原理
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 all
x=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('滤波器相谱');
四:实验结果与分析
图一
图二
分析:由图二可以知道加入噪声后的幅值谱和原始图的幅值谱明显多了两条幅值线,而这两条幅值线就是我们对原始灰度图加入的正弦噪声,而相应的图一中的加噪声后的图与原始图相比,出现了明显的变化。

对于滤波后的图形来说,比加入噪声后还原了很多,但是与原始图相比还是有一定的失真现象。

相关文档
最新文档