信号分析与处理实验报告

合集下载

数字信号处理实验报告 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为周期的周期延拓序列的主值序列。

信号分析与处理实验报告

信号分析与处理实验报告

实验一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 的频谱图有何区别。

实验一 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频谱分析,观察其幅频和相频图,并截图保存。

信号分析与处理实验报告

信号分析与处理实验报告

华北电力大学实验报告||实验名称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)三角波信号:频谱包含多个频率成分,适用于模拟信号处理、音频信号处理等领域。

信号分析与处理实验报告(基于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。

信号分析与处理实验报告

信号分析与处理实验报告

实验一图像信号频谱分析及滤波一:实验原理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
的波形图。
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. 熟悉MATLAB在信号分析中的应用;4. 培养实验操作能力和数据分析能力。

二、实验原理信号分析是研究信号特性的科学,主要包括信号的时域分析和频域分析。

时域分析关注信号随时间的变化规律,频域分析关注信号中不同频率分量的分布情况。

1. 时域分析:通过对信号进行采样、时域卷积、微分、积分等操作,分析信号的时域特性。

2. 频域分析:通过对信号进行傅里叶变换、频域卷积、滤波等操作,分析信号的频域特性。

三、实验内容1. 信号采集与处理(1)采集一段语音信号,利用MATLAB的录音功能将模拟信号转换为数字信号。

(2)对采集到的信号进行采样,选择合适的采样频率,确保满足奈奎斯特采样定理。

(3)绘制语音信号的时域波形图,观察信号的基本特性。

2. 信号频谱分析(1)对采集到的信号进行傅里叶变换,得到信号的频谱。

(2)绘制信号的频谱图,分析信号的频域特性。

3. 信号滤波(1)设计一个低通滤波器,滤除信号中的高频噪声。

(2)将滤波后的信号与原始信号进行对比,分析滤波效果。

4. 信号调制与解调(1)对原始信号进行幅度调制,产生已调信号。

(2)对已调信号进行解调,恢复原始信号。

(3)分析调制与解调过程中的信号变化。

四、实验步骤1. 采集语音信号,将模拟信号转换为数字信号。

2. 对采集到的信号进行采样,确保满足奈奎斯特采样定理。

3. 绘制语音信号的时域波形图,观察信号的基本特性。

4. 对信号进行傅里叶变换,得到信号的频谱。

5. 绘制信号的频谱图,分析信号的频域特性。

6. 设计低通滤波器,滤除信号中的高频噪声。

7. 对滤波后的信号与原始信号进行对比,分析滤波效果。

8. 对原始信号进行幅度调制,产生已调信号。

9. 对已调信号进行解调,恢复原始信号。

10. 分析调制与解调过程中的信号变化。

五、实验结果与分析1. 时域分析通过观察语音信号的时域波形图,可以看出信号的基本特性,如信号的幅度、频率等。

信号分析实验报告总结

信号分析实验报告总结

一、实验目的本次信号分析实验旨在通过MATLAB软件,对连续信号进行采样、重建、频谱分析等操作,加深对信号处理基本理论和方法的理解,掌握信号的时域、频域分析技巧,并学会使用MATLAB进行信号处理实验。

二、实验内容1. 连续信号采样与重建(1)实验内容:以正弦信号为例,验证采样定理,分析采样频率与信号恢复质量的关系。

(2)实验步骤:a. 定义连续信号y(t) = sin(2π×24t) + sin(2π×20t),包含12Hz和20Hz 两个等幅度分量。

b. 分别以1/4、1/2、1/3Nyquist频率对信号进行采样,其中Nyquist频率为最高信号频率的两倍。

c. 利用MATLAB的插值函数对采样信号进行重建,比较不同采样频率下的信号恢复质量。

(3)实验结果与分析:a. 当采样频率低于Nyquist频率时,重建信号出现失真,频率混叠现象明显。

b. 当采样频率等于Nyquist频率时,重建信号基本恢复原信号,失真较小。

c. 当采样频率高于Nyquist频率时,重建信号质量进一步提高,失真更小。

2. 离散信号频谱分析(1)实验内容:分析不同加窗长度对信号频谱的影响,理解频率分辨率的概念。

(2)实验步骤:a. 定义离散信号x[n],计算其频谱。

b. 分别采用16、60、120点窗口进行信号截取,计算其频谱。

c. 比较不同窗口长度对频谱的影响。

(3)实验结果与分析:a. 随着窗口长度的增加,频谱分辨率降低,频率混叠现象减弱。

b. 频率分辨率与窗口长度成反比,窗口长度越长,频率分辨率越高。

3. 调频信号分析(1)实验内容:搭建调频通信系统,分析调频信号,验证调频解调原理。

(2)实验步骤:a. 搭建调频通信系统,包括信号源、调制器、解调器等模块。

b. 产生调频信号,并对其进行解调。

c. 分析调频信号的频谱,验证调频解调原理。

(3)实验结果与分析:a. 调频信号具有线性调频特性,其频谱为连续谱。

数字信号处理与分析实验报告

数字信号处理与分析实验报告

h (n) d
理 想 滤 波 器 单 位 抽 样 响 应 Hanning窗 N=15
1
1
0.8
0.8
0.6
0.6
滤波器单位抽样响应 0.2 0.15
h(n)
(n)
0.4
0.4
0.1
0.2
0.2
0.05
0
0
0
0
10
20 0
10
20 0
10
20
|H(ej)| 0
3dB衰 减 和 20dB衰 减
0
0
()
-20
图一:fp=25Hz;fs=40Hz;Ap=1dB;As=15dB。
Magnitude (dB)
0
-10
-20
-30
-40
0
10
20
30
40
50
60
Frequency (Hz)
0
-100
-200
-300
-400
0
10
20
30
40
50
60
Frequency (Hz)
1.5
1
0.5
0
-0.5
0
0.5
1
1.5
3
|X(k)|
2
1
0
0
2
4
6
8
k
图五
|X(k)|
1 0.5
0 -0.5
-1 0
8 6 4 2 0
0
图六
N = 16
5
10
15
n
5
10
15
k
(k)
(k)
(k)

信号分析与处理实验一 基本信号的产生和时域抽样实验

信号分析与处理实验一 基本信号的产生和时域抽样实验

实验项目名称:基本信号的产生和时域抽样实验 实验项目性质:普通实验 所属课程名称:信号分析与处理 实验计划学时:2一、实验目的1学习使用matlab 产生基本信号波形、实现信号的基本运算2熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解; 3 加深理解频谱离散化过程中的数学概念和物理概念,掌握频域抽样定理的基本内容。

二、实验内容和要求1 用Matlab 产生以下序列的样本,并显示其波形: (a): ()(0.9)cos(0.2/3),020n x n n n ππ=+≤≤(b): )20()5()(---=n u n u n x(c): )n(nx-=*5.0exp()(d): )xπn=1.0sin()(n(e): ||1000)(t a e t x -=(f): )()sin()(0t u t Ae t x t a Ω=-α2 设||1000a )t (x t e -=(a ):求其傅里叶变换)jw (X a ;(b ):用频率Hz s 5000F =对)t (x a 进行采样,求出采样所得离散时间信号]n [x a1的傅里叶变换)(X 1jw a e ;再用频率Hz s 1000F =对)t (x a 进行采样,求出采样所得离散时间信号]n [x a2的傅里叶变换)(X a2jw e ;(c):分别针对(b)中采样所得离散时间信号]n[xa1和]n[xa2,重建出对应的连续时间信号)t(xa1和)t(xa2,并分别与原连续时间信号)t(xa进行比较;根据抽样定理(即Nyquist定理)的知识,说明采样频率对信号重建的影响。

3 已知序列x[k]={1,1,1;k=0,1,2},对其频谱)X进行抽样,分别取( j eN=2,3,10,观察频域抽样造成的混叠现象。

x=[1,1,1];L=3;N=256;omega=[0:N-1]*2*pi/N;X0=1+exp(-j*omega)+exp(-2*j*omega);plot(omega./pi,abs(X0));xlabel('Omega/PI');hold onN=2;omegam=[0:N-1]*2*pi/N;Xk=1+exp(-j*omegam)+exp(-2*j*omegam);stem(omegam./pi,abs(Xk),'r','o');hold off00.20.40.60.81 1.2 1.4 1.6 1.82Omega/PI4、A 编制实验用主程序及相应子程序。

信号分析与处理实验报告

信号分析与处理实验报告

信号分析与处理实验报告
班级_________________________
学生姓名_________________________
学号_________________________
所在专业_________________________
成绩_________________________
上海大学
二0 0 年月日
图1-2 芯片参数设置界面
4. 利用数字公式编程生成正弦波、噪声或三角波等数字信号,可以选择其中一种信号,
图3-1 滤波器的种类
下图是用带通滤波器消除信号钢管无损探伤信号中由于传感器晃动带来的低频干扰,以及由于电磁噪声等带来的高频干扰的例子。

用滤波器消除信号中的干扰
图3-3 滤波器的作用实验
下面是该实验的装配图和信号流图,图中线上的数字为连接软件芯片的软件总线数
图3-4 滤波器的作用实验装配图。

硕士信号处理实验报告(3篇)

硕士信号处理实验报告(3篇)

第1篇一、实验背景随着信息技术的飞速发展,数字信号处理(DSP)技术已成为通信、图像处理、语音识别等领域的重要工具。

本实验旨在通过一系列实验,加深对数字信号处理基本原理和方法的理解,提高实际应用能力。

二、实验目的1. 理解数字信号处理的基本概念和原理。

2. 掌握常用信号处理算法的MATLAB实现。

3. 培养分析和解决实际问题的能力。

三、实验内容本实验共分为五个部分,具体如下:1. 离散时间信号的基本操作(1)实验目的:熟悉离散时间信号的基本操作,如加法、减法、乘法、除法、延时、翻转等。

(2)实验步骤:- 使用MATLAB生成两个离散时间信号。

- 对信号进行基本操作,如加法、减法、乘法、除法、延时、翻转等。

- 观察并分析操作结果。

2. 离散时间系统的时域分析(1)实验目的:掌握离散时间系统的时域分析方法,如单位脉冲响应、零状态响应、零输入响应等。

(2)实验步骤:- 使用MATLAB设计一个离散时间系统。

- 计算系统的单位脉冲响应、零状态响应和零输入响应。

- 分析系统特性。

(1)实验目的:掌握离散时间信号的频域分析方法,如快速傅里叶变换(FFT)、离散傅里叶变换(DFT)等。

(2)实验步骤:- 使用MATLAB生成一个离散时间信号。

- 对信号进行FFT和DFT变换。

- 分析信号频谱。

4. 数字滤波器的设计与实现(1)实验目的:掌握数字滤波器的设计与实现方法,如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器等。

(2)实验步骤:- 使用MATLAB设计一个低通滤波器。

- 使用窗函数法实现滤波器。

- 对滤波器进行性能分析。

5. 信号处理在实际应用中的案例分析(1)实验目的:了解信号处理在实际应用中的案例分析,如语音信号处理、图像处理等。

(2)实验步骤:- 选择一个信号处理应用案例。

- 分析案例中使用的信号处理方法。

- 总结案例中的经验和教训。

四、实验结果与分析1. 离散时间信号的基本操作实验结果表明,离散时间信号的基本操作简单易懂,通过MATLAB可以实现各种操作,方便快捷。

信号分析与处理实验报告1

信号分析与处理实验报告1

合肥工业大学电气与自动化工程学院 实验报告专业 班级 学号 姓名 日期 指导教师 共 页 第 页实验一 用FFT 实现信号的谱分析实验报告要求:1、实验内容为实验指导书实验二第5题、第8题;2、实验报告包括四部分:实验原理、实验内容、实验程序、结果分析;分别占实验报告总成绩的20%,10%,30%,40%;3、实验程序及结果分析如内容雷同,均不给分;4、实验结果图形打印后贴在实验报告中,程序、分析内容手写。

一. 实验原理关于信号谱分析的步骤和方法参见教材第3章相关内容。

为了解信号的特点,了解信号频谱分布情况,应该对信号进行谱分析,计算出信号的幅度谱、相位谱和功率谱。

信号的谱分析可以用FFT 实现,讨论如下:1. 谱分析中的参数选择;A 若已知信号的最高频率c f ,为防止混叠,选定采样频率s f :c s f f 2≥ (1)B 根据实际需要,选定频率分辨f ∆,一但选定后,即可确定FFT 所需的点数Nf f N s ∆=/ (2)我们希望f ∆越小越好,但f ∆越小,N 越大,计算量、存储量也随之增大。

一般取N 为2的整次幂,以便用FFT计算,若已给定N ,可用补零方法便N 为2的整次幂。

C s f 和N 确定后,即可确定所需相应模拟信号)(t x 的长度s s NT f N T ==/ (3)分辨率f ∆反比于T ,而不是N ,在给定的T 的情况下,靠减小s T 来增加N 是不能提高分辨率的,因为s NT T =为常数2.谱分析步骤; A 数据准备()()()a a t nTx n x t x nT === (4) B 使用FFT 计算信号的频谱 1()()N knNn X k x nW -==∑ (5)()()()r i X k X kjX k =+ (6) C 由频谱计算幅度谱()X k、相位谱k θ和功率谱()G k ()X k =(7)()arctan()i k r X k X k θ= (8) 222()()()()r i G k X k X k X k ==+ (9)3.实验中用到的一些基本函数简介y=fft(x,n) ; 计算n 点的FFT 。

生物医学信号处理与分析实验报告

生物医学信号处理与分析实验报告

生物医学信号处理与分析实验报告实验目的:本实验的主要目的是研究生物医学信号的处理与分析方法,探索在实际应用中的相关问题。

通过对信号处理和分析技术的学习和应用,加深对生物医学信号的理解和认识,并应用所学知识解决实际问题。

实验材料与方法:1. 生物医学信号采集设备:使用生物医学信号采集设备采集心电图(ECG)信号。

2. 信号预处理:通过去噪、滤波和放大等预处理技术对采集到的生物医学信号进行预处理。

3. 特征提取与分析:对经过预处理后的生物医学信号进行特征提取,包括时域特征和频域特征等。

4. 信号分类与识别:利用机器学习算法对提取到的特征进行分类和识别,以实现对生物医学信号的自动分析和判断。

实验结果:通过对多组心电图信号的处理与分析,得到了如下结果:1. 信号预处理:对原始心电图信号进行去噪、滤波和放大等预处理操作,使得信号更加清晰和易于分析。

2. 特征提取与分析:通过计算心电图信号的R波、QRS波群和T波等特征参数,得到了每个心电图信号的特征向量。

3. 信号分类与识别:应用支持向量机(SVM)分类器对提取到的特征向量进行分类和识别。

通过对多组心电图信号进行训练和测试,得到了较高的分类准确率。

讨论与分析:在本实验中,我们成功地应用了生物医学信号处理与分析技术对心电图信号进行了处理和分析,并取得了良好的实验结果。

通过对心电图信号的特征提取和分类识别,可以辅助医生进行心脏疾病的诊断和治疗。

然而,我们也发现了一些问题和挑战:1. 信号噪声:在实际应用中,生物医学信号常受到各种噪声的干扰,如肌电噪声、基线漂移等。

这些噪声对信号的正确分析和判断造成了较大的困难,需要进一步的研究和改进去噪算法。

2. 数据采集与标注:在实验中,我们采集了一定数量的心电图信号,并手动标注了相应的类别。

然而,由于人为因素的影响,标注结果可能存在一定的主观性和误差,需要更多的数据和专业医生的参与来提高分类的准确性。

3. 数据可视化与解释:通过对心电图信号的处理和分析,我们可以得到丰富的特征信息。

信号分析与处理实验报告

信号分析与处理实验报告

信号分析与处理实验报告一、实验目的(1)掌握计算序列的离散傅立叶变换(DFT)的方法;(2)掌握实现时间抽取快速傅立叶变换(FFT)的编程方法;(3)复习复数序列的运算方法;(4)掌握设计IIR数字滤波器的冲激响应不变法和双线性变换法;(5)掌握IIR数字滤波器的实现方法。

二、实验原理1、快速傅利叶变换的软件实现(1)程序输入元素的数目必须为2的整数次幂,即N为2的M次幂,整个运算需要M级蝶形运算。

(2)输入序列按二进制码位倒置排列,输出序列按自然顺序排列。

(3)输出数据占用输入数据的存储单元。

(4)每一级含N/2个基本蝶形运算。

(5)第L级中有N/2的L次幂个群,群与群间隔为2的L次幂。

(6)同一级中各个群的系数W分布相同,第L级的群中有2的L-1次幂个系数。

(7)处于第L级的群的系数是(p=1,2,3,……,)(8)对于第L级的蝶形运算,输入数据的间隔为2的L-1次幂。

2、码位倒置程序流程图输入A[I],MI ←0,J ←0,N ←2MI ≥J ?T ←A[J]A[J]←A[I]A[I]←TK ←N/2K>J?J ←J ←K K ←K/2J ←J+KI ←I+1I=N-1?输出A[I]NoYesNoYes No接蝶形运算程序Yes3、蝶形运算程序流程图接码位倒置程序L=1LE=2LLE1=LE/2W=1W1=exp(-jπ/LE1)R=0P=RQ=P+LE1T=A[Q]*WA[Q]=A[P]-TA[P]=A[Q]+TP=P+LEP>N-1?NoW=W*W1YesR=R+1R>LE1-1? L=L+1No YesL>M?No 结束Yes4、IIR 数字滤波器的设计以教材第九章无限冲激响应数字滤波器的例子说明软件实现方法。

设滤波器为级联型结构,其系统函数如下:)()()()(321z H z H z H z H =式中⎪⎪⎪⎩⎪⎪⎪⎨⎧+-+=+-+=+-+=---------21213212122121123422.094592.01)1(08338.0)(37534.005410.11)1(08338.0)(71489.031432.11)1(08338.0)(z z z z H z z z z H z z z z H 显然,该数字滤波器为无限冲激响应数字滤波器,其数字网络和软件流程图分别如图所示。

信号分析与处理实验报告一

信号分析与处理实验报告一

实验报告实验名称____信号的时域与频域处理_____ 课程名称______信号分析与处理___________院系部:控计自动化专业班级:自动1303学生姓名:肖松庆学号: 1131190325同组人:实验台号:指导教师:成绩:实验日期:华北电力大学一、实验目的及要求:1、熟悉MATLAB平台,高效的数值计算及符号计算功能;2、实现基本信号的表示及可视化计算;3、分析信号的频谱。

二、仪器用具:微机,MATLAB工具软件。

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

对于周期连续函数,可由()f t直接得出C的表达式,然后运用abs(n C)和angle(n C)求出n C的幅度谱和相n位谱,并用plot函数将结果可视化。

对于周期离散序列,可设定DFS 和IDFS的求和范围,利用F=fft(f)来计算N个DFS系数,f=Ifft (F)来计算由DFS系数F[m]反变换序列的时域信号f[k].N阶连续时间LTI系统可用n阶常系数微分方程描述,而离散时间LTI系统可由线性常系数差分方程来描述。

当已知激励信号和系统的初始条件时,求解微分方程,可得到系统的输出响应,含零输入响应和零状态响应,其中零状态响应可用卷积积分来求取。

而系统的冲激响应既是求解零状态响应的重要参数,又是描述系统时域特性的重要参数。

MATLAB中有相应的函数来求解各种响应。

四、实验方法、步骤、结果与数据处理:1、信号的频域分析 已知周期方波信号0||2()0||22E t f t T t ττ⎧<⎪⎪=⎨⎪<<⎪⎩,当02T τ=, 04T τ=,08T τ=时,画出其幅度谱和相位谱,观察不同周期下,()f t 的频谱图有何区别。

解:周期方波傅立叶级数为)()()(Tk Sa T E k Sa T E k X πτττωτ=2=,令T τ=m,T=2τ时m=0.5,T=4τ时m=0.25,T=8τ时m=0.125。

信号处理综合实验报告(3篇)

信号处理综合实验报告(3篇)

第1篇一、实验目的1. 深入理解信号处理的基本原理和方法。

2. 掌握信号处理在各个领域的应用,如语音信号处理、图像处理等。

3. 熟悉实验设备的使用,提高实际操作能力。

4. 培养团队协作和问题解决能力。

二、实验内容本次实验主要分为以下几个部分:1. 语音信号处理(1)采集语音信号:使用麦克风采集一段语音信号,并将其转换为数字信号。

(2)频谱分析:对采集到的语音信号进行频谱分析,观察其频谱特性。

(3)噪声消除:设计并实现噪声消除算法,对含噪语音信号进行处理,提高信号质量。

(4)语音增强:设计并实现语音增强算法,提高语音信号的清晰度。

2. 图像处理(1)图像采集:使用摄像头采集一幅图像,并将其转换为数字图像。

(2)图像增强:对采集到的图像进行增强处理,如对比度增强、亮度增强等。

(3)图像滤波:设计并实现图像滤波算法,去除图像中的噪声。

(4)图像分割:设计并实现图像分割算法,将图像中的不同区域分离出来。

3. 信号处理算法实现(1)傅里叶变换:实现离散傅里叶变换(DFT)和快速傅里叶变换(FFT)算法,对信号进行频谱分析。

(2)小波变换:实现离散小波变换(DWT)算法,对信号进行时频分析。

(3)滤波器设计:设计并实现低通滤波器、高通滤波器、带通滤波器等,对信号进行滤波处理。

三、实验原理1. 语音信号处理(1)语音信号采集:通过麦克风将声音信号转换为电信号,再通过模数转换器(ADC)转换为数字信号。

(2)频谱分析:利用傅里叶变换将时域信号转换为频域信号,分析信号的频谱特性。

(3)噪声消除:采用噪声消除算法,如维纳滤波、谱减法等,去除信号中的噪声。

(4)语音增强:利用语音增强算法,如谱峰增强、长时能量增强等,提高语音信号的清晰度。

2. 图像处理(1)图像采集:通过摄像头将光信号转换为电信号,再通过模数转换器(ADC)转换为数字图像。

(2)图像增强:通过调整图像的亮度、对比度等参数,提高图像的可视效果。

(3)图像滤波:利用滤波器去除图像中的噪声,如均值滤波、中值滤波、高斯滤波等。

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

华北电力大学实验报告||实验名称FFT的软件实现实验(Matlab)IIR数字滤波器的设计课程名称信号分析与处理||专业班级:电气化1308 学生姓名:袁拉麻加学号: 201301000827 成绩:指导教师:杨光实验日期: 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.码位倒置程序流程图c. 蝶形运算程序流程图五、程序代码与实验结果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的过程更加熟悉了,尤其是W N系数的特性,可以通过累乘来实现W系数的更新。

IIR数字滤波器的设计实验一、实验目的1.掌握实现模拟信号数字化的编程方法。

2.掌握实现时间抽取快速傅里叶变换(FFT)的编程方法。

3.掌握设计IIR数字滤波器的双线性变换法。

4.加深对信号分析与处理的理解。

二、实验内容1.生成三个不同频率的正弦信号1()x t、2()x t、3()x t,将它们叠加成一个信号()x t。

用满足采样定理的采样频率对模拟信号()x t进行采样,得到离散时间序列()x n。

2.编制子程序实现FFT运算,并对()x n进行FFT运算,观察它的频谱。

3.设计满足已知的设计指标的IIR数字滤波器,并用它对()x n进行滤波处理。

对滤波后得到的波形再做FFT运算,观察滤波后的信号频谱。

三、实验结果1.生成的信号图1 原始信号及合成信号的时域波形图2 原始信号的幅度谱2.滤波器的性能检验图3 模拟滤波器的频率特性图4 数字滤波器的频率特性3.滤波后的信号图5 滤波前后信号的时域波形对比图6 滤波前后信号的幅度谱对比附录附录一:FFT子程序function [ A ] = fftlzr( A )N=length(A);M=log2(N);j=complex(0,1);if fix(M)~=MA=[A(:);zeros(2^(fix(M)+1)-N,1)]; endN=length(A);M=log2(N);I=0;J=0;L=1;while I~=N-1if I<Jt=A(J+1);A(J+1)=A(I+1);A(I+1)=t;endK=N/2;while K<=JJ=J-K;K=K/2;endJ=J+K;I=I+1;endwhile L<=MLE=2^L; R=1;LE1=LE/2;W=1;W1=exp(-j*pi/LE1);while R<=LE1P=R;while P<=NQ=P+LE1;T=A(Q)*W; A(Q)=A(P)-T;A(P)=A(P)+T;P=P+LE;endW=W*W1;R=R+1;endL=L+1;endend附录二主程序close all;clear alls_f=15;s_xy=15;s_t=20;s_mar=10;w_f=2.5;w_axi=2;%信号产生T0=8e-2;Ts=1/800;N=T0/Ts;t=0:Ts:(N-1)*Ts;f1=50;f2=100;f3=200;fp=80;fs=120;Sig=4*sin(f1*2*pi*t)+4*sin(f2*2*pi*t)+4*sin(f3*2*pi*t); s_need=4*sin(f1*2*pi*t);s_1=4*sin(f2*2*pi*t);s_2=4*sin(f3*2*pi*t);P_qian=fftlzr(Sig);figure(1)h1=stem(2*pi/(N*Ts).*(0:N-1),abs(P_qian));grid onhx1=xlabel('模拟角频率/ rad/s');ht1=title('滤波前幅度频谱');ha1=gca;axis tight%滤波器设计Fs=1/Ts;wp=2/Ts*tan(fp*2*pi*Ts/2);ws=2/Ts*tan(fs*2*pi*Ts/2);rp=1;rs=15;[Nl,Wn]=buttord(wp,ws,rp,rs,'s');%求阶数及3dB截止频率[z,p,k]=buttap(Nl);%求极零点增益[b,a]=zp2tf(z,p,k);%系统传递函数[b2,a2]=lp2lp(b,a,Wn);%转换为所需低通滤波器[HS,WS]=freqs(b2,a2,linspace(0,2000,512));%求0到2000rad/s的频率响应[hs,wss]=freqs(b2,a2,[wp,ws,[f1,f2,f3].*2*pi]);%求通带阻带边缘角频率及原始信号频率响应%画模拟滤波器频谱并标注figure(6)subplot(211)hsf=plot(WS,20*log10(abs(HS)));hold onstem(wss,20*log10(abs(hs)),'filled','r:','linewidth',w_f)text(wss(1)-100,20*log10(abs(hs(1)))-10,...{'\Omega_p=160\pi rad/s';[num2str(20*log10(abs(hs(1)))),'dB']}); text(wss(2)-65,20*log10(abs(hs(2)))-12,...{'\Omega_s=240\pi rad/s';[num2str(20*log10(abs(hs(2)))),'dB']}); text(wss(3)-100,20*log10(abs(hs(3)))-10,...{'\Omega_1=100\pi rad/s';[num2str(20*log10(abs(hs(3)))),'dB']}); text(wss(4)-65,20*log10(abs(hs(4)))-12,...{'\Omega_2=200\pi rad/s';[num2str(20*log10(abs(hs(4)))),'dB']}); text(wss(5)-70,20*log10(abs(hs(5)))-10,...{'\Omega_3=400\pi rad/s';[num2str(20*log10(abs(hs(5)))),'dB']}); hxsf=xlabel('模拟角频率/ rad/s');hysf=ylabel('幅值/dB');htsf=title('幅频特性');hasf=gca;grid onsubplot(212)hsx=plot(WS,angle(HS));hold onstem(wss,angle(hs),'filled','r:','linewidth',w_f)text(wss(1),angle(hs(1))+0.7,...{'\Omega_p=160\pi rad/s';[num2str(angle(hs(1))),'rad']});text(wss(2),angle(hs(2))+0.7,...{'\Omega_s=240\pi rad/s';[num2str(angle(hs(2))),'rad']});text(wss(3)-150,angle(hs(3))-0.8,...{'\Omega_1=100\pi rad/s';[num2str(angle(hs(3))),'rad']});text(wss(4)-20,angle(hs(4))+0.8,...{'\Omega_2=200\pi rad/s';[num2str(angle(hs(4))),'rad']});text(wss(5)-50,angle(hs(5))-1.3,...{'\Omega_3=400\pi rad/s';[num2str(angle(hs(5))),'rad']});hxsx=xlabel('模拟角频率/ rad/s');hysx=ylabel('相值/ rad');htsx=title('相频特性');hasx=gca;grid on[b3,a3]=bilinear(b2,a2,Fs);%双线性变换到数字滤波器[H,W]=freqz(b3,a3,linspace(0,0.5*pi,512));%求数字滤波器频率响应[hd,wd]=freqz(b3,a3,[wp,ws,[f1,f2,f3].*2*pi]*Ts);%求通带阻带边缘数字角频率及原始信号数字频率响应wd=wd/pi;%画数字滤波器频谱并标注figure(2)subplot(211)h2=plot(W/pi,20*log10(abs(H)));hold onstem(wd,20*log10(abs(hd)),'filled','r:','linewidth',w_f) text(wd(1)-0.0035,20*log10(abs(hd(1)))-12,...{['\omega_p=',num2str(wd(1)),'\pirad'];[num2str(20*log10(abs(hd(1)))),'dB']});text(wd(2)-0.003,20*log10(abs(hd(2)))-12,...{['\omega_s=',num2str(wd(2)),'\pirad'];[num2str(20*log10(abs(hd(2)))),'dB']});text(wd(3)-0.0035,20*log10(abs(hd(3)))-12,...{['\omega_1=',num2str(wd(3)),'\pirad'];[num2str(20*log10(abs(hd(3)))),'dB']});text(wd(4)-0.003,20*log10(abs(hd(4)))-12,...{['\omega_2=',num2str(wd(4)),'\pirad'];[num2str(20*log10(abs(hd(4)))),'dB']});text(wd(5)-0.003,20*log10(abs(hd(5)))-12,...{['\omega_3=',num2str(wd(5)),'\pirad'];[num2str(20*log10(abs(hd(5)))),'dB']});hx2=xlabel('归一化数字角频率/ \pi rad');hy1=ylabel('幅值/dB');ht2=title('幅频特性');ha2=gca;grid onsubplot(212)h3=plot(W/pi,angle(H));grid;title('相频特性'); hold onstem(wd,angle(hd),'filled','r:','linewidth',w_f) text(wd(1),angle(hd(1))+1,...{['\omega_p=',num2str(wd(1)),'\pirad'];[num2str(angle(hd(1))),'\pi rad']});text(wd(2)-0.002,angle(hd(2))+1,...{['\omega_p=',num2str(wd(2)),'\pirad'];[num2str(angle(hd(2))),'\pi rad']});text(wd(3)-0.003,angle(hd(3))-1,...{['\omega_p=',num2str(wd(3)),'\pirad'];[num2str(angle(hd(3))),'\pi rad']});text(wd(4)-0.003,angle(hd(4))-2,...{['\omega_p=',num2str(wd(4)),'\pirad'];[num2str(angle(hd(4))),'\pi rad']});text(wd(5)-0.003,angle(hd(5))-1.3,...{['\omega_p=',num2str(wd(5)),'\pirad'];[num2str(angle(hd(5))),'\pi rad']}); hx3=xlabel('归一化数字角频率/ \pi rad');hy2=ylabel('相值/ \pi rad');ht3=title('相频特性');ha3=gca;grid on%滤波data=filter(b3,a3,Sig);figure(3)h4=plot(t,data,'k',t,Sig,'b',t,s_need,'r'); ht4=title('滤波效果');xlabel('t/s','fontsize',s_xy);ylabel('幅值','fontsize',s_xy);legend('滤波后波形','滤波前波形','50Hz信号') ha4=gca;grid onP_hou=fftlzr(data);figure(4)subplot(211)h5=stem(2*pi/(N*Ts).*(0:N-1),abs(P_qian)); hx4=xlabel('模拟角频率/ rad/s');ht5=title('滤波前幅度频谱');axis([0,1.5e3,0,2e3])text(f1*2*pi-20,abs(P_qian(f1*N*Ts+1))+200,[num2str(f1) 'Hz']); text(f2*2*pi-20,abs(P_qian(f2*N*Ts+1))+200,[num2str(f2) 'Hz']); text(f3*2*pi-20,abs(P_qian(f3*N*Ts+1))+200,[num2str(f3) 'Hz']); ha5=gca;grid onsubplot(212)h6=stem(2*pi/(N*Ts).*(0:N-1),abs(P_hou));hx5=xlabel('模拟角频率/ rad/s');ht6=title('滤波后幅度频谱');axis([0,1.5e3,0,2e3])text(f1*2*pi-20,abs(P_hou(f1*N*Ts+1))+200,[num2str(f1) 'Hz']); text(f2*2*pi-20,abs(P_hou(f2*N*Ts+1))+200,[num2str(f2) 'Hz']); text(f3*2*pi-20,abs(P_hou(f3*N*Ts+1))+200,[num2str(f3) 'Hz']); ha6=gca;grid onfigure(5)h7=plot(t,Sig,t,s_need,'r',t,s_1,'g',t,s_2,'c');hx6=xlabel('t/s');hy3=xlabel('幅值');ht7=title('生成信号');set(h7,'linewidth',2)legend('合成信号','50Hz','100Hz','200Hz');ha7=gca;grid on%图像处理h=[h1,h2,h3,h4',h5,h6,hsf,hsx];ht=[ht1,ht2,ht3,ht4,ht5,ht6,ht7,htsf,htsx];hx=[hx1,hx2,hx3,hx4,hx5,hx6,hxsf,hxsx];hy=[hy1,hy2,hy3,hysf,hysx];ha=[ha1,ha2,ha3,ha4,ha5,ha6,ha7,hasf,hasx] ;set(h([2:6,9:10]),'Linewidth',w_f)set(ha,'Linewidth',w_axi,'Fontsize',s_f);set([hx hy ht],'Fontsize',s_xy,'FontWeight','bold');set((1:6),'outerposition',get(0,'screensize'),'color','w')。

相关文档
最新文档