杭电数字信号处理实验6
数字信号处理实验报告

实验一 信号、系统及系统响应一、实验目的1、熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对时域采样定理的理解。
2、熟悉离散信号和系统的时域特性。
3、熟悉线性卷积的计算编程方法:利用卷积的方法,观察、分析系统响应的时域特性。
4、掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号、系统及其系统响应进行频域分析。
二、 实验原理1.理想采样序列:对信号x a (t)=A e −αt sin(Ω0t )u(t)进行理想采样,可以得到一个理想的采样信号序列x a (t)=A e −αt sin(Ω0nT ),0≤n ≤50,其中A 为幅度因子,α是衰减因子,Ω0是频率,T 是采样周期。
2.对一个连续时间信号x a (t)进行理想采样可以表示为该信号与一个周期冲激脉冲的乘积,即x ̂a (t)= x a (t)M(t),其中x ̂a (t)是连续信号x a (t)的理想采样;M(t)是周期冲激M(t)=∑δ+∞−∞(t-nT)=1T ∑e jm Ωs t +∞−∞,其中T 为采样周期,Ωs =2π/T 是采样角频率。
信号理想采样的傅里叶变换为X ̂a (j Ω)=1T ∑X a +∞−∞[j(Ω−k Ωs )],由此式可知:信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期为Ωs =2π/T 。
根据时域采样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频率混叠现象。
三、简明步骤产生理想采样信号序列x a (n),使A=444.128,α=50√2π,Ω0=50√2π。
(1) 首先选用采样频率为1000HZ ,T=1/1000,观察所得理想采样信号的幅频特性,在折叠频率以内和给定的理想幅频特性无明显差异,并做记录;(2) 改变采样频率为300HZ ,T=1/300,观察所得到的频谱特性曲线的变化,并做记录;(3) 进一步减小采样频率为200HZ ,T=1/200,观察频谱混淆现象是否明显存在,说明原因,并记录这时候的幅频特性曲线。
数字信号处理综合实验

数字信号处理综合实验一、实验目的本实验旨在通过数字信号处理技术的综合应用,加深对数字信号处理原理和方法的理解,提高学生的实际操作能力和问题解决能力。
二、实验原理数字信号处理是利用数字计算机对摹拟信号进行采样、量化和编码,然后进行数字运算和处理的技术。
本实验主要涉及以下几个方面的内容:1. 信号采集与预处理:通过摹拟信号采集电路将摹拟信号转换为数字信号,然后进行预处理,如滤波、降噪等。
2. 数字滤波器设计:设计和实现数字滤波器,包括FIR滤波器和IIR滤波器,可以对信号进行滤波处理,提取感兴趣的频率成份。
3. 时域和频域分析:对采集到的信号进行时域和频域分析,如时域波形显示、功率谱密度估计等,可以了解信号的时域和频域特性。
4. 信号重构与恢复:通过信号重构算法对采集到的信号进行恢复,如插值、外推等,可以还原信号的原始特征。
三、实验内容根据实验原理,本实验的具体内容包括以下几个部份:1. 信号采集与预处理a. 使用摹拟信号采集电路将摹拟信号转换为数字信号,并通过示波器显示采集到的信号波形。
b. 对采集到的信号进行预处理,如去除噪声、滤波等,确保信号质量。
2. 数字滤波器设计a. 设计并实现FIR滤波器,选择合适的滤波器类型和参数,对采集到的信号进行滤波处理。
b. 设计并实现IIR滤波器,选择合适的滤波器类型和参数,对采集到的信号进行滤波处理。
3. 时域和频域分析a. 对采集到的信号进行时域分析,绘制信号的时域波形图,并计算信号的均值、方差等统计指标。
b. 对采集到的信号进行频域分析,绘制信号的功率谱密度图,并计算信号的频域特性。
4. 信号重构与恢复a. 使用插值算法对采集到的信号进行重构,恢复信号的原始特征。
b. 使用外推算法对采集到的信号进行恢复,还原信号的原始特征。
四、实验步骤1. 搭建信号采集电路,将摹拟信号转换为数字信号,并通过示波器显示采集到的信号波形。
2. 对采集到的信号进行预处理,如去除噪声、滤波等,确保信号质量。
数字信号处理实验六报告

实验六 频域抽样定理和音频信号的处理实验报告 (一)频域抽样定理给定信号1, 013()27, 14260, n n x n n n +≤≤⎧⎪=-≤≤⎨⎪⎩其它 1.利用DTFT 计算信号的频谱()j X e ω,一个周期内角频率离散为M=1024点,画出频谱图,标明坐标轴。
n=0:100; %设定n 及其取值范围for n1=0:13 %对于n 处于不同的取值范围将n 代入不同的表达式xn(n1+1)=n1+1;endfor n2=14:26xn(n2+1)=27-n2;endfor n3=27:100xn(n3+1)=0;endM=1024; %设定抽样离散点的个数k=0:M-1; %设定k 的取值范围w=2*pi*k/M; %定义数字角频率[X,w] = dtft2( xn,n, M ) %调用dtft2子程序求频谱plot(w,abs(X)); %画出幅度值的连续图像xlabel('w/rad');ylabel('|X(exp(jw))|');title(' M=1024时的信号频谱图像'); %标明图像的横纵坐标和图像标题function [X,w] = dtft2(xn, n, M ) %定义x(n)的DTFT 函数w=0:2*pi/M:2*pi-2*pi/M; %将数字角频率w 离散化L=length(n); %设定L 为序列n 的长度 for (k=1:M) %外层循环,w 循环M 次sum=0; %每确定一个w 值,将sum 赋初值为零for (m=1:L) %内层循环,对n 求和,循环次数为n 的长度sum=sum+xn(m)*exp(-j*w(k)*n(m)); %求和X(k)=sum; %把每一次各x(n)的和的总值赋给X ,然后开始对下一个w 的求和过程end %内层循环结束end%外层循环结束M=1024时的信号频谱图像如图1-1所示:图1-1 M=1024时的信号频谱图像2.分别对信号的频谱()jX eω在区间π[0,2]上等间隔抽样16点和32点,得到32()X k和16()X k。
数字信号处理实验报告_五个实验

实验一 信号、系统及系统响应一、 实验目的1、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解;2、熟悉时域离散系统的时域特性;3、利用卷积方法观察分析系统的时域特性;4、掌握序列傅立叶变换的计算机实现方法,利用序列的傅立叶变换对连续信号、离散信号及系统响应进行频域分析。
二、 实验原理及方法采样是连续信号数字处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性发生变化以及信号信息不丢失的条件,而且可以加深对傅立叶变换、Z 变换和序列傅立叶变换之间关系式的理解。
对一个连续信号)(t x a 进行理想采样的过程可用下式表示:)()()(^t p t t xx aa=其中)(^t x a 为)(t x a 的理想采样,p(t)为周期脉冲,即∑∞-∞=-=m nT t t p )()(δ)(^t x a的傅立叶变换为)]([1)(^s m a m j X T j a XΩ-Ω=Ω∑∞-∞=上式表明^)(Ωj Xa为)(Ωj Xa的周期延拓。
其延拓周期为采样角频率(T /2π=Ω)。
只有满足采样定理时,才不会发生频率混叠失真。
在实验时可以用序列的傅立叶变换来计算^)(Ωj X a 。
公式如下:Tw jw ae X j X Ω==Ω|)()(^离散信号和系统在时域均可用序列来表示。
为了在实验中观察分析各种序列的频域特性,通常对)(jw e X 在[0,2π]上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n),有:n jw N n jw k ke m x eX--=∑=)()(1其中,k Mk πω2=,k=0,1,……M-1 时域离散线性非移变系统的输入/输出关系为 ∑∞-∞=-==m m n h m x n h n x n y )()()(*)()(上述卷积运算也可在频域实现)()()(ωωωj j j e H e X eY =三、 实验程序s=yesinput(Please Select The Step Of Experiment:\n 一.(1时域采样序列分析 s=str2num(s); close all;Xb=impseq(0,0,1); Ha=stepseq(1,1,10);Hb=impseq(0,0,3)+2.5*impseq(1,0,3)+2.2*impseq(2,0,3)+impseq(3,0,3); i=0;while(s);%时域采样序列分析 if(s==1) l=1; k=0;while(1)if(k==0)A=yesinput('please input the Amplitude:\n',...444.128,[100,1000]); a=yesinput('please input the Attenuation Coefficient:\n',...222.144,[100,600]); w=yesinput('please input the Angle Frequence(rad/s):\n',...222.144,[100,600]); end k=k+1;fs=yesinput('please input the sample frequence:\n',...1000,[100,1200]); Xa=FF(A,a,w,fs); i=i+1;string+['fs=',num2str(fs)]; figure(i)DFT(Xa,50,string); 1=yesinput 1=str2num(1); end%系统和响应分析else if(s==2)kk=str2num(kk);while(kk)if(kk==1)m=conv(Xb,Hb);N=5;i=i+1;figure(i)string=('hb(n)');Hs=DFT(Hb,4,string);i=i+1;figure(i)string('xb(n)');DFT(Xb,2,string);string=('y(n)=xb(n)*hb(n)');else if (kk==2)m=conv(Ha,Ha);N=19;string=('y(n)=ha(n)*(ha(n)');else if (kk==3)Xc=stepseq(1,1,5);m=conv(Xc,Ha);N=14;string=('y(n)=xc(n)*ha(n)');endendendi=i+1;figure(i)DFT(m,N,string);kk=yesinputkk=str2num(kk);end卷积定理的验证else if(s==3)A=1;a=0.5;w=2,0734;fs=1;Xal=FF(A,a,w,fs);i=i+1;figure(i)string=('The xal(n)(A=1,a=0.4,T=1)'); [Xa,w]DFT(Xal,50,string);i=i+1;figure(i)string =('hb(n)');Hs=DFT(Hb,4,string);Ys=Xs.*Hs;y=conv(Xal,Hb);N=53;i=i+1;figure(i)string=('y(n)=xa(n)*hb(n)');[yy,w]=DFT(y,N,string);i=i+1;figure(i)subplot(2,2,1)plot(w/pi,abs(yy));axis([-2 2 0 2]);xlabel('w/pi');ylabel('|Ys(jw)|');title(FT[x(n)*h(n)]');subplot(2,2,3)plot(w/pi,abs(Ys));axis([-2 2 0 2]);xlabel('w/pi');ylabel('|Ys(jw)|');title('FT[xs(n)].FT[h(n)]');endendend子函数:离散傅立叶变换及X(n),FT[x(n)]的绘图函数function[c,l]=DFT(x,N,str)n=0:N-1;k=-200:200;w=(pi/100)*k;l=w;c=x*Xc=stepseq(1,1,5);子函数:产生信号function c=FF(A,a,w,fs)n=o:50-1;c=A*exp((-a)*n/fs).*sin(w*n/fs).*stepseq(0,0,49); 子函数:产生脉冲信号function [x,n]=impseq(n0,n1,n2)n=[n1:n2];x=[(n-n0)==0];子函数:产生矩形框信号function [x,n]=stepseq(n0,n1,n2) n=[n1:n2];x=[(n-n0>=0)];四、 实验内容及步骤1、认真复习采样理论,离散信号与系统,线性卷积,序列的傅立叶变换及性质等有关内容,阅读本实验原理与方法。
数字信号处理实验报告全.doc

数字信号处理实验报告全实验一、离散时间系统及离散卷积1、单位脉冲响应源程序function pr1 定义函数pr1 a[1,-1,0.9]; 定义差分方程yn-yn-10.9yn-2xn b1; ximpseq0,-40,140; 调用impseq函数n-40140; 定义n从-40 到140 hfilterb,a,x; 调用函数给纵座标赋值figure1 绘图figure 1 冲激响应stemn,h; 在图中绘出冲激title 冲激响应; 定义标题为冲激响应xlabel n ; 绘图横座标为n ylabel hn ; 绘图纵座标为hn figure2 绘图figure 2 [z,p,g]tf2zpb,a; 绘出零极点图zplanez,p function [x,n]impseqn0,n1,n2声明impseq函数n[n1n2]; x[n-n00]; 结果Figure 1 Figure 2 2、离散系统的幅频、相频的分析源程序function pr2 b[0.0181,0.0543,0.0543,0.0181]; a[1.000,-1.76,1.1829,-0.2781]; m0lengthb-1; m从0 到 3 l0lengtha-1; l从0 到3 K5000; k1K; wpi*k/K; 角频率w Hb*exp-j*m *w./a*exp-j*l *w;对系统函数的定义magHabsH; magH为幅度angHangleH; angH为相位figure1 subplot2,1,1; 在同一窗口的上半部分绘图plotw/pi,magH; 绘制wpi-magH 的图形grid; axis[0,1,0,1]; 限制横纵座标从0到1 xlabel wpi ; x座标为wpi ylabel |H| ; y座标为angleH title 幅度,相位响应; 图的标题为幅度,相位响应subplot2,1,2; 在同一窗口的下半部分绘图plotw/pi,angH; 绘制wpi-angH的图形grid;为座标添加名称xlabel wpi ; x座标为wpi ylabel angleH ; y 座标为angleH 结果3、卷积计算源程序function pr3 n-550; 声明n从-5到50 u1stepseq0,-5,50; 调用stepseq函数声用明u1un u2stepseq10,-5,50; 调用stepseq函数声用明u2un-10 输入xn和冲激响应hn xu1-u2; xnun-un-10 h0.9.n.*u1; hn0.9n*un figure1 subplot3,1,1; 绘制第一个子图stemn,x; 绘制图中的冲激axis[-5,50,0,2]; 限定横纵座标的范围title 输入序列; 规定标题为输入序列xlabel n ; 横轴为n ylabel xn ; 纵轴为xn subplot3,1,2; 绘制第二个子图stemn,h; 绘制图中的冲激axis[-5,50,0,2]; 限定横纵座标的范围title 冲激响应序列; 规定标题为冲激响应序列xlabel n ; 横轴为n ylabel hn ; 纵轴为hn 输出响应[y,ny]conv_mx,n,h,n; 调用conv_m函数subplot3,1,3; 绘制第三个子图stemny,y; axis[-5,50,0,8]; title 输出响应; 规定标题为输出响应xlabel n ; ylabel yn ; 纵轴为yn stepseq.m子程序实现当nn0时xn的值为1 function [x,n]stepseqn0,n1,n2 nn1n2; x[n-n00]; con_m的子程序实现卷积的计算function [y,ny]conv_mx,nx,h,nh nybnx1nh1; nyenxlengthxnhlengthh; ny[nybnye]; yconvx,h; 结果实验二、离散傅立叶变换与快速傅立叶变换1、离散傅立叶变换(DFT)源程序function pr4 F50; N64; T0.000625; n1N; xcos2*pi*F*n*T; xncospi*n/16 subplot2,1,1; 绘制第一个子图xn stemn,x; 绘制冲激title xn ; 标题为xn xlabel n ; 横座标为n Xdftx,N; 调用dft函数计算xn的傅里叶变换magXabsX; 取变换的幅值subplot2,1,2; 绘制第二个子图DFT|X| stemn,X; title DFT|X| ; xlabel fpi ; 横座标为fpi dft的子程序实现离散傅里叶变换function [Xk]dftxn,N n0N-1; k0N-1; WNexp-j*2*pi/N; nkn *k; WNnkWN.nk; Xkxn*WNnk; 结果F50,N64,T0.000625时的波形F50,N32,T0.000625时的波形2、快速傅立叶变换(FFT)源程序function pr5 F50;N64;T0.000625; n1N; xcos2*pi*F*n*T; xncospi*n/16 subplot2,1,1;plotn,x; title xn ;xlabel n ; 在第一个子窗中绘图xn Xfftx;magXabsX; subplot2,1,2;plotn,X; title DTFT|X| ;xlabel fpi ; 在第二个子图中绘图xn的快速傅里叶变换结果3、卷积的快速算法源程序function pr6 n015; x1.n; h4/5.n; x16320; h16320; 到此xn1, n015; xn0,n1632 hn4/5n, n015; hn0,n1632 subplot3,1,1; stemx; title xn ; axis[1,32,0,1.5]; 在第一个子窗绘图xn横轴从1到32,纵轴从0到1.5 subplot3,1,2; stemh; title hn ; axis[1,32,0,1.5]; 在第二个子窗绘图hn横轴从1到32,纵轴从0到1.5 Xfftx; Xn为xn的快速傅里叶变换Hffth; Hn为hn的快速傅里叶变换YX.*H; YnXn*Hn Yconvx,h; yifftY; yn为Yn的傅里叶反变换subplot3,1,3 在第三个子窗绘图yn横轴从1到32,纵轴从0到6 stemabsy; title ynxn*hn ; axis[1,32,0,6]; 结果实验三、IIR数字滤波器设计源程序function pr7 wp0.2*pi;ws0.3*pi; Rp1; As15; T1; Fs1/T; OmegaP2/T*tanwp/2; OmegaPw2*tan0.1*pi OmegaS2/T*tanws/2; OmegaSw2*tan0.15*pi epsqrt10Rp/10-1; Ripplesqrt1/1ep.2; Attn1/10As/20;Nceillog1010Rp/10-1/10As/10-1/2*log10OmegaP/OmegaS; OmegaCOmegaP/10.Rp/10-1.1/2*N; [cs,ds]u_buttapN,OmegaC; [b,a]bilinearcs,ds,Fs; [mag,db,pha,w]freqz_mb,a; subplot3,1,1; 在第一个子窗绘制幅度响应的图形plotw/pi,mag; title 幅度响应; xlabel wpi ; ylabel H ; axis[0,1,0,1.1]; setgca, XTickmode , manual , XTick ,[0,0.2,0.35,1.1]; setgca, YTickmode , manual , YTick ,[0,Attn,Ripple,1]; grid; subplot3,1,2; 在第二个子窗以分贝为单位绘制幅度响应的图形plotw/pi,db; title 幅度响应dB ; xlabel wpi ; ylabel H ; axis[0,1,-40,5]; setgca, XTickmode , manual , XTick ,[0,0.2,0.35,1.1]; setgca, YTickmode , manual , YTick ,[-50,-15,-1,0]; grid; subplot3,1,3; 在第三个子窗绘制相位响应的图形plotw/pi,pha; title 相位响应; xlabel wpi ; ylabel pi unit ; axis[0,1,0,1.1]; setgca, XTickmode , manual , XTick ,[0,0.2,0.35,1.1]; setgca, YTickmode , manual , YTick ,[-1,0,1]; grid; function [b,a]u_buttapN,OmegaC [z,p,k]buttapN; pp*OmegaC; kk*OmegaC.N; Brealpolyz; b0k; bk*B; arealpolyp; function [mag,db,pha,w]freqz_mb,a[H,w]freqzb,a,1000, whole ; HH1501 ; ww1501 ; magabsH; db20*log10mageps/maxmag; phaangleH; 结果实验四、FIR数字滤波器的设计源程序function pr8 wp0.2*pi; ws0.3*pi; tr_widthws-wp; Mceil6.6*pi/tr_width1; n0M-1; wcwswp/2; alphaM-1/2; mn-alphaeps; hdsinwc*m./pi*m; w_hamhammingM ; hhd.*w_ham; [mag,db,pha,w]freqz_mh,[1]; delta_w2*pi/1000; Rp-mindb1wp/delta_w1; As-roundmaxdbws/delta_w1501; subplot2,2,1; stemn,hd; title 理想冲激响应; axis[0,M-1,-0.1,0.3]; ylabel hdn ; subplot2,2,2; stemn,h; title 实际冲激响应; axis[0,M-1,-0.1,0.3]; ylabel hn ; subplot2,2,3; plotw/pi,pha; title 滤波器相位响应; axis[0,1,-pi,pi]; ylabel pha ; setgca, XTickmode , manual , XTick ,[0,0.2,0.3,1.1]; setgca, YTickmode , manual , YTick ,[-pi,0,pi]; grid; subplot2,2,4; plotw/pi,db; title 滤波器幅度响应; axis[0,1,-100,10]; ylabel Hdb ; setgca, XTickmode , manual , XTick ,[0,0.2,0.3,1.1]; setgca, YTickmode , manual , YTick ,[-50,-15,0]; function [mag,db,pha,w]freqz_mb,a [H,w]freqzb,a,1000, whole ; HH1501 ; ww1501 ; magabsH; db20*log10mageps/maxmag; phaangleH; 结果。
数字信号处理实验报告

数字信号处理实验报告引言数字信号处理(Digital Signal Processing,DSP)是一门研究数字信号的获取、分析、处理和控制的学科。
在现代科技发展中,数字信号处理在通信、图像处理、音频处理等领域起着重要的作用。
本次实验旨在通过实际操作,深入了解数字信号处理的基本原理和实践技巧。
实验一:离散时间信号的生成与显示在实验开始之前,我们首先需要了解信号的生成与显示方法。
通过数字信号处理器(Digital Signal Processor,DSP)可以轻松生成和显示各种类型的离散时间信号。
实验设置如下:1. 设置采样频率为8kHz。
2. 生成一个正弦信号:频率为1kHz,振幅为1。
3. 生成一个方波信号:频率为1kHz,振幅为1。
4. 将生成的信号通过DAC(Digital-to-Analog Converter)输出到示波器上进行显示。
实验结果如下图所示:(插入示波器显示的正弦信号和方波信号的图片)实验分析:通过示波器的显示结果可以看出,正弦信号在时域上呈现周期性的波形,而方波信号则具有稳定的上下跳变。
这体现了正弦信号和方波信号在时域上的不同特征。
实验二:信号的采样和重构在数字信号处理中,信号的采样是将连续时间信号转化为离散时间信号的过程,信号的重构则是将离散时间信号还原为连续时间信号的过程。
在实际应用中,信号的采样和重构对信号处理的准确性至关重要。
实验设置如下:1. 生成一个正弦信号:频率为1kHz,振幅为1。
2. 设置采样频率为8kHz。
3. 对正弦信号进行采样,得到离散时间信号。
4. 对离散时间信号进行重构,得到连续时间信号。
5. 将重构的信号通过DAC输出到示波器上进行显示。
实验结果如下图所示:(插入示波器显示的连续时间信号和重构信号的图片)实验分析:通过示波器的显示结果可以看出,重构的信号与原信号非常接近,并且能够还原出原信号的形状和特征。
这说明信号的采样和重构方法对于信号处理的准确性有着重要影响。
数字信号处理实验报告

一、实验目的1. 理解数字信号处理的基本概念和原理。
2. 掌握离散时间信号的基本运算和变换方法。
3. 熟悉数字滤波器的设计和实现。
4. 培养实验操作能力和数据分析能力。
二、实验原理数字信号处理(Digital Signal Processing,DSP)是利用计算机对信号进行采样、量化、处理和分析的一种技术。
本实验主要涉及以下内容:1. 离散时间信号:离散时间信号是指时间上离散的信号,通常用序列表示。
2. 离散时间系统的时域分析:分析离散时间系统的时域特性,如稳定性、因果性、线性等。
3. 离散时间信号的变换:包括离散时间傅里叶变换(DTFT)、离散傅里叶变换(DFT)和快速傅里叶变换(FFT)等。
4. 数字滤波器:设计、实现和分析数字滤波器,如低通、高通、带通、带阻滤波器等。
三、实验内容1. 离散时间信号的时域运算(1)实验目的:掌握离散时间信号的时域运算方法。
(2)实验步骤:a. 使用MATLAB生成两个离散时间信号;b. 进行时域运算,如加、减、乘、除等;c. 绘制运算结果的时域波形图。
2. 离散时间信号的变换(1)实验目的:掌握离散时间信号的变换方法。
(2)实验步骤:a. 使用MATLAB生成一个离散时间信号;b. 进行DTFT、DFT和FFT变换;c. 绘制变换结果的频域波形图。
3. 数字滤波器的设计和实现(1)实验目的:掌握数字滤波器的设计和实现方法。
(2)实验步骤:a. 设计一个低通滤波器,如巴特沃斯滤波器、切比雪夫滤波器等;b. 使用MATLAB实现滤波器;c. 使用MATLAB对滤波器进行时域和频域分析。
4. 数字滤波器的应用(1)实验目的:掌握数字滤波器的应用。
(2)实验步骤:a. 采集一段语音信号;b. 使用数字滤波器对语音信号进行降噪处理;c. 比较降噪前后的语音信号,分析滤波器的效果。
四、实验结果与分析1. 离散时间信号的时域运算实验结果显示,通过MATLAB可以方便地进行离散时间信号的时域运算,并绘制出运算结果的时域波形图。
杭电 数字信号处理实验报告(四)

数字信号处理实验报告(四)姓名:王修庆学号:11083105线性卷积与圆周卷积的计算一、实验目的(1) 通过编程、上机调试程序,进一步增强使用计算机解决问题的能力。
(2) 掌握线性卷积与圆周卷积的软件实现的方法,并验证两者之间的关系。
二、基本原理(1) 两个有限长序列的线性卷积序列1()x n 为L 点,2()x n 为P 点,则其线性卷积为31212()()()()()m x n x n x n x m x n m +∞=-∞=*=⋅-∑且线性卷积的长度为1L P +-。
(2) 圆周卷积设两个有限长序列1()x n 和2()x n ,均为N 点,其N 点的DFT 分别为1()X k 和2()X k ,如果312()()()X k X k X k =⋅,则13120()[()()]()N N m x n xm x n m R n -==-∑ 1120()(())N N m x m x n m -==-∑1()x n =○N 2()x n 01n N ≤≤-,○N 表示N 点圆周卷积 (3) 圆周卷积与线性卷积的关系圆周卷积是否等于线性卷积,完全取决于圆周卷积的长度。
当1N L P ≥+-时,圆周卷积等于线性卷积,即1()x n ○N 212()()()x n x n x n =* 当1N L P ≤+-时,圆周卷积为:1()x n ○N 23()()r x n x n rN +∞=-∞=+∑,01n N ≤≤-三、实验内容及要求已知两个有限长序列:()()2(1)3(2)4(3)5(4)x n n n n n n δδδδδ=+-+-+-+- ()()2(1)(2)2(3)h n n n n n δδδδ=+-+-+-(1) 实验前,预先笔算好这两个序列的线性卷积及下列几种情况的圆周卷积 1)()x n ⑤()h n 2)()x n ⑥()h n 3)()x n ⑨()h n 4)()x n ⑩()h n (2)编制一个计算两个序列线性卷积的通用程序,计算()()x n h n *。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号、系统与信号处理实验Ⅱ
实验报告
姓名:王健
学号: 14072119
班级: 14083413
上课时间:周五-六七八
实验名称:利用FFT实现快速卷积
1、实验目的
(1) 加深理解FFT在实现数字滤波中的重要作用,更好地利用FFT进行数字信号处理
(2) 进一步掌握圆周卷积和线性卷积两者之间的关系
2、实验原理与要求
实验原理
应用FFT实现数字滤波器实际上就是用FFT来快速计算有限长度序列的线性卷积。
这种方法就是先将输入信号x(n)通过FFT变换为它的频谱采样值X(k),然后再和FIR滤波器的频响采样值H(k)相乘,H(k)可事先存放在存储器中,最后再将乘积H(k)X(k)通过快速傅里叶变换(简称IFFT)还原为时域序列,即得到输出y(n),其原理框图如下:
实验要求
1 给定两个序列x(n)=[2,1,1,2],h(n)=[1,-1,-1,1]。
首先直接在时域计算
两者的线性卷积;其次用FFT快速计算二者的线性卷积,验证结
果。
2 数字滤波器的脉冲响应为,N2可自定,本实验取N2=17
输入序列x(n)可选下列几种情况:
1: ,N1可取16
2:,N1=16
3:, N1=16
3 实验前,预先编制一个应用FFT实现数字滤波器的通用程序。
4 上机独立调试,并打印或记录实验结果。
5 将实验结果与预先笔算的结果比较,验证其正确性。
3、实验程序与结果
1. 应用FFT实现数字滤波器的通用程序
function yn=fftconv(xn,hn)
N=length(xn)+length(hn)-1;
YK=fft(xn,N).*fft(hn,N);
yn=ifft(YK,N);
if all(imag(xn)==0)&&(all(imag(hn)==0))
yn=real(yn);
end
2. 两个序列x(n)=[2,1,1,2],h(n)=[1,-1,-1,1]。
首先直接在时域计算两者的线性卷积;其次用FFT快速计算二者的线性卷积
clear;clc;close all
xn=[2 1 1 2];
hn=[1 -1 -1 1];
N=length(xn)+length(hn)-1;
yn=fftconv(xn,hn);
yc=conv(xn,hn);
subplot(1,2,1)
stem(0:N-1,yn,'.')
title('用fft计算卷积')
subplot(1,2,2)
stem(0:length(yc)-1,yc,'.')
title('用conv计算卷积')
结果:
3. 数字滤波器的脉冲响应为,N2可自定,本实验N2=17
输入序列x(n)可选下列几种情况下的卷积
clear;clc;close all
n=0:16;
hn=(-1/2).^n;
xn1=ones(1,16);
yn1=fftconv(xn1,hn);
subplot(1,2,1)
stem(0:length(xn1)+length(hn)-2,yn1,'.') title('用fft计算卷积')
subplot(1,2,2)
yc1=conv(xn1,hn);
stem(0:length(yc1)-1,yc1,'.')
title('用conv计算卷积')
figure
N2=16;n2=0:N2-1;
xn2=cos(2*pi/N2.*n2).*ones(1,N2);
yn2=fftconv(xn2,hn);
subplot(1,2,1)
stem(0:length(xn2)+length(hn)-2,yn2,'.') title('用fft计算卷积')
subplot(1,2,2)
yc2=conv(xn2,hn);
stem(0:length(yc2)-1,yc2,'.')
title('用conv计算卷积')
figure
N3=16;n3=0:N3-1;
xn3=(1/3).^n3.*ones(1,N3);
yn3=fftconv(xn3,hn);
subplot(1,2,1)
stem(0:length(xn3)+length(hn)-2,yn3,'.') title('用fft计算卷积')
subplot(1,2,2)
yc3=conv(xn3,hn);
stem(0:length(yc3)-1,yc3,'.')
title('用conv计算卷积')
结果
,N1取16
,N1=16
, N1=16
4、仿真结果分析
从仿真的结果图可以看出利用函数fftconv函数即先频域乘积再转换时域的方法求卷积与conv计算的结果是一样的,说明这种方法是正确实用的
5、实验问题解答与体会
这一次数字信号处理实验,虽然题目看起来简单,但是编程的时候却会有陷阱,加上自己的粗心用了好久才完成。
以后做实验一定不能大意,一定要预习,特别是例程,例程能很好地表达函数用法,使逻辑更加清楚。
另外,在以后实验的时候一定要带上数字信号处理的教材,因为实验能很好地实践验证教材所教的东西,加深自己的理解,纠正自己的错误观念,结合教材去验证加深知识,而不是一味为完成实验而做实验。