数字信号处理实验报告 (实验四)
线性卷积与圆周卷积的计算

数字信号处理实验报告
实验名称:线性卷积与圆周卷积的计算(实验四)
专业班 级: 学生姓名: 学 号: 指导教师:
二○一 年 月 日
1
一、 实验原理 1.线性卷积
当系统输入序列为 x(n),系统的单位冲激响应为 h(n),输出序列为 y(n),则线性时不变系统 y(n) = x(n)*h(n). 2.圆周卷积
圆周移位代替线性移位的好处: 时域圆周卷积在频域上相当于两序列的 DFT 的相乘,而计算 DFT 可 以采用它的快速算法——快速傅立叶变换(FFT),因此圆周卷积和线 性卷积相比,计算速度可以大大加快。
7
调试中所遇到的问题: 图形输出与算得的不符,经过结果逆推回去,发现计算圆周卷积的一 个矩阵没有转置。 圆周卷积与线性卷积的关系: 根据实验结果,可以发现,当 N>=L+P-1 时,圆周卷积等于线性卷积; 而当 N<L+P-1 时,圆周卷积等于两个序列的线性卷积加上时间的混 叠。
6
线性卷积的运算步骤: 求 x1(n)与 x2(n) 的线性卷积:对 x1(m)或 x2(m)先进行镜像移 位 x1(-m),对移位后的序列再进行从左至右的依次平移 x(n-m),当 n=0,1,2.…N-1 时,分别将 x(n-m)与 x2(m)相乘,并在 m=0,1,2.… N-1 的区间求和,便得到 y(n)。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
圆周卷积通用程序
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function yc = circonv(x1,x2,N) % 定义函数 if length(x1)>N
数字信号处理实验四

实验报告课程名称:数字信号处理实验四:离散系统分析班级:通信1403学生姓名:强亚倩学号:1141210319指导教师:范杰清页脚内容1页脚内容2华北电力大学(北京)一、实验目的深刻理解离散时间系统的系统函数在分析离散系统的时域特性、频域特性以及稳定性中的重要作用及意义,熟练掌握利用MATLAB 分析离散系统的时域响应、频响特性和零极点的方法。
掌握利用DTFT 和DFT 确定系统特性的原理和方法。
二、实验原理MATLAB 提供了许多可用于分析线性时不变连续系统的函数,主要包含有系统函数、系统时域响应、系统频域响应等分析函数。
1. 离散系统的时域响应在调用MATLAB 函数时,需要利用描述该离散系统的系数函数。
对差分方程进行Z 变换即可得系统函数:在MATLAB 中可使用向量a 和向量b 分别保存分母多项式和分子多项式的系数:这些系数均从z 0按z 的降幂排列。
2.离散系统的系统函数零极点分析离散LTI 系统的系统函数H (z )可以表示为零极点形式:))...()(())...()((1)()()(2121)1(111)1(1110N M N N N N M M M M p z p z p z z z z z z z k z a z a z a z b z b z b b z X z Y z H ------=++++++++==---------- )()(1)()()()1(111)1(1110z a z b z a z a z a z b z b z b b z X z Y z H N N N N M M M M =++++++++==---------- ],,,,1[11N N a a a a -= ],,,,[110M M b b b b b -=页脚内容3使用MATLAB 提供的roots 函数计算离散系统的零极点;使用zplane 函数绘制离散系统的零极点分布图。
注意:在利用这些函数时,要求H (z )的分子多项式和分母多项式的系数的个数相等,若不等则需要补零。
哈尔滨工程大学数字信号处理实验四

t/T x (n )k X (k)t/T x (n)k X (k )一、 实验原理DFT 的快速算法FFT 利用了WN^(nk)的三个固有特性:(1)对称性,(WN^(nk))*=WN^(-nk),(2)周期性,WN^(nk)=WN^(n+N)k=WN^n(k+K),(3)可约性WN^(nk)=WmN^(nmk)和WN(nk)=WN/m^(nk/m)。
FFT 算法基本上可以分为两大类,即按时间抽选法和按频率抽选法。
MATLAB 中提供了进行快速傅里叶变换的fft 函数,X=fft(x),基2时间抽取FFT 算法,x 是表示离散信号的向量;X 是系数向量; X=fft(x ,N),补零或截断的N 点DFT ,当x 的长度小于N 时,对x 补零使其长度为N ,当x 的长度大于N 时,对x 截断使其长度为N 。
Ifft 函数计算IDFT ,其调用格式与fft 函数相同,参考help 文件。
例3.1程序及图形文件 >> k=8;>> n1=[0:19];>> xa1=sin(2*pi*n1/k); >> subplot(221) >> stem(n1,xa1)>> xlabel('t/T');ylabel('x(n)'); >> xk1=fft(xa1);>> xk1=abs(xk1);>> subplot(222)>> stem(n1,xk1)>> xlabel('k');ylabel('X(k)'); >> n2=[0:1:15]; >> xa2=sin(2*pi*n2/k); >> subplot(223) >> stem(n2,xa2)>> xlabel('t/T');ylabel('x(n)');>> xk2=fft(xa2);>> xk2=abs(xk2);>> subplot(224)>> stem(n2,xk2)>> xlabel('k');ylabel('X(k)');上两个图为N=20是的截取信号和DFT 结果,由于截取了两个半周期,频谱出现泄漏;下面的两个图为N=16时的截取信号和DFT 结果,由于截取了两个整周期,得到单一谱线的频谱。
数字信号处理EXPIV型教学实验系统实验四常规实验exp4_常规

第四章常规实验指导实验一常用指令实验一、实验目的1、了解DSP开发系统的组成和结构;2、熟悉DSP开发系统的连接;3、熟悉CCS的开发界面;4、熟悉C54X系列的寻址系统;5、熟悉常用C54X系列指令的用法。
二、实验设备计算机,CCS 2.0版软件,DSP仿真器,实验箱。
三、实验步骤与内容1、系统连接进行DSP实验之前,先必须连接好仿真器、实验箱及计算机,连接方法如下所示:2、上电复位在硬件安装完成后,确认安装正确、各实验部件及电源连接正常后,接通仿真器电源,启动计算机,此时,仿真器上的“红色小灯”应点亮,否则DSP开发系统有问题。
3、运行CCS程序待计算机启动成功后,实验箱后面220V输入电源开关置“ON”,实验箱上电,启动CCS,此时仿真器上的“绿色小灯”应点亮,并且CCS正常启动,表明系统连接正常;否则仿真器的连接、JTAG接口或CCS相关设置存在问题,掉电,检查仿真器的连接、JTAG 接口连接,或检查CCS相关设置是否正确。
注:如在此出现问题,可能是系统没有正常复位或连接错误,应重新检查系统硬件并复位;也可能是软件安装或设置有问题,应尝试调整软件系统设置,具体仿真器和仿真软件CCS的应用方法参见第三章。
●成功运行程序后,首先应熟悉CCS的用户界面●学会CCS环境下程序编写、调试、编译、装载,学习如何使用观察窗口等。
4、修改样例程序,尝试DSP其他的指令。
注:实验系统连接及CCS相关设置是以后所有实验的基础,在以下实验中这部分内容将不再复述。
5、填写实验报告。
6、样例程序实验操作说明仿真口选择开关K9拨到右侧,即仿真器选择连接右边的CPU:CPU2;启动CCS 2.0,在Project Open菜单打开exp01_cpu2目录下面的工程文件“exp01.pjt”注意:实验程序所在的目录不能包含中文,目录不能过深,如果想重新编译程序,去掉所有文件的只读属性。
用下拉菜单中Project/Open,打开“exp01.pjt”,双击“Source”,可查看源程序在File Load Program菜单下加载exp01_cpu2\debug目录下的exp01.out文件:加载完毕,单击“Run”运行程序;实验结果:可见指示灯D1定频率闪烁;单击“Halt”暂停程序运行,则指示灯停止闪烁,如再单击“Run”,则指示灯D1又开始闪烁;注:指示灯D1在CPLD单元的右上方关闭所有窗口,本实验完毕。
实验四 有限长序列的线性卷积、圆周卷积及分段卷积(数字信号处理)

电子信息与自动化学院《数字信号处理》实验报告学号: 姓名:实验名称: 实验四 有限长序列的线性卷积、圆周卷积及分段卷积一、 实验目的(1) 在理论学习的基础上,通过本实验,加深对线性卷积、圆周卷积、分段卷积的理解;(2) 掌握计算线性卷积、圆周卷积、分段卷积的方法;(3) 体会有限长序列卷积运算的关系;二、 实验原理1、有限长序列卷积有两种形式:线性卷积和圆周卷积然而现实中要解决的实际问题是要计算两个有限长序列的线性卷积,如信号通过线性系统,系统的输出 y(n)是输入信号 x(n)与系统抽样响应 h(n)的线性卷积:y(n)=x(n)*h(n)。
设n x 1和n x 2是两个长度分别为 M 和 N 的有限长序列,则其线性卷积为)(*)()(211n x n x n y =。
)(1n y 是一个长度为 L1=N+M-1 点的有限长序列.将n x 1和n x 2均补零成 L 点的有限长序列,其中 L ≥max(M,N),则其 L 点的圆周卷积为)(]))(()([)()()(1021212n R m n x m x n x n x n y L L m L ∑-=-=⊗=,现在讨论)(1n y 和)(2n y 的关系。
显然]∑∑∑∑∑∑∑∑∞-∞=∞-∞=∞∞=-=-=∞-∞=-=-=+=+=+-=+-=-=-=r r L r M m L M m L r L M m L L L m L rL n y n R rL n x n xn R rL m n x n R rL m n x m x n R m n x m x n R m n x m x n y )([)()](*)([)()()()()()(]))(()([)(]))(()([)(121102102112110212由此可见,L 点的圆周卷积)(2n y 是线性卷积)(2n y 以 L 为周期,进行周期延拓后在区间 0 到 L-1 范围内所取的主值序列。
数字信号处理实验4 离散时间系统的频域分析

实验4 离散时间系统的频域分析一、实验目的(1)了解离散系统的零极点与系统因果性和稳定性的关系; (2)加深对离散系统的频率响应特性基本概念的理解; (3)熟悉MATLAB 中进行离散系统零极点分析的常用子函数; (4)掌握离散系统幅频响应和相频响应的求解方法。
二、知识点提示本章节的主要知识点是频率响应的概念、系统零极点对系统特性的影响;重点是频率响应的求解方法;难点是MATLAB 相关子函数的使用。
三、实验原理1.离散时间系统的零极点及零极点分布图设离散时间系统系统函数为NMz N a z a a z M b z b b z A z B z H ----++++++++==)1()2()1()1()2()1()()()(11 (4-1) MATLAB 提供了专门用于绘制离散时间系统零极点图的zplane 函数: ①zplane 函数 格式一:zplane(z, p)功能:绘制出列向量z 中的零点(以符号"○" 表示)和列向量p 中的极点(以符号"×"表示),同时画出参考单位圆,并在多阶零点和极点的右上角标出其阶数。
如果z 和p 为矩阵,则zplane 以不同的颜色分别绘出z 和p 各列中的零点和极点。
格式二:zplane(B, A)功能:绘制出系统函数H(z)的零极点图。
其中B 和A 为系统函数)(z H (4-1)式的分子和分母多项式系数向量。
zplane(B, A) 输入的是传递函数模型,函数首先调用root 函数以求出它们的零极点。
②roots 函数。
用于求多项式的根,调用格式:roots(C),其中C 为多项式的系数向量,降幂排列。
2.离散系统的频率特性MATLAB 提供了专门用于求离散系统频响特性的freqz 函数,调用格式如下: ①H = freqz(B,A,W)功能:计算由向量W (rad )指定的数字频率点上(通常指[0,π]范围的频率)离散系统)(z H 的频率响应)e (j ωH ,结果存于H 向量中。
数字信号处理实验四

实验一:DFS 、DFT 与FFT一、实验内容2、已知某周期序列的主值序列为x(n)=[0,1,2,3,2,1,0],编程显示2个周期的序列波形。
要求:① 用傅里叶级数求信号的幅度谱和相位谱,并画出图形 ② 求傅里叶级数逆变换的图形,并与原序列进行比较。
N=7;xn=[0,1,2,3,2,1,0]; xn=[xn,xn]; n=0:2*N-1; k=0:2*N-1;Xk=xn*exp(-j*2*pi/N).^(n'*k); x=(Xk*exp(j*2*pi/N).^(n'*k))/N; subplot(2,2,1);stem(n,xn);title('x(n)');axis([-1,2*N,1.1*min(xn),1.1*max(xn)]); subplot(2,2,2);stem(n,abs(x));title('IDFS|X(k)|');axis([-1,2*N,1.1*min(x),1.1*max(x)]); subplot(2,2,3),stem(k,abs(Xk));title('|X(k)|');axis([-1,2*N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]); subplot(2,2,4),stem(k,angle(Xk));title('arg|X(k)|');axis([-1,2*N,1.1*min(angle(Xk)),1.1*max(angle(Xk))]);课程名称 数字信号 实验成绩 指导教师 王丽霞实 验 报 告院系 信息工程学院 班级 11专升本通信工程 学号 1103100068 姓名 周海霞日期 2011年10月17日12351051015|X (k)|510-2-1012arg|X (k)|3、已知有限长序列x(n)=[1,0.5,0,0.5,1,1,0.5,0],要求: ① 求该序列的DFT 、IDFT 的图形;xn=[1,0.5,0,0.5,1,1,0.5,0]; N=length(xn); n=0:N-1; k=0:N-1;Xk=xn*exp(-1i*2*pi/N).^(n'*k); x=(Xk*exp(1i*2*pi/N).^(n'*k))/N; subplot(2,2,1);stem(n,xn);title('x(n)');axis([-1,N,1.1*min(xn),1.1*max(xn)]); subplot(2,2,2);stem(n,abs(x));title('IDFT|X(k)|');axis([-1,N,1.1*min(x),1.1*max(x)]); subplot(2,2,3),stem(k,abs(Xk));title('|X(k)|');axis([-1,N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]); subplot(2,2,4),stem(k,angle(Xk));title('arg|X(k)|');axis([-1,N,1.1*min(angle(Xk)),1.1*max(angle(Xk))]);0.510.5124681234|X (k)|2468-2-1012arg|X (k)|② 用FFT 算法求该序列的DFT 、IDFT 的图形;xn=[1,0.5,0,0.5,1,1,0.5,0]; N=length(xn);subplot(2,2,1);stem(n,xn); title('x(n)'); k=0:N-1; Xk=fft(xn,N);subplot(2,1,2);stem(k,abs(Xk)); title('Xk=DFT(xn)'); xn1=ifft(Xk,N);subplot(2,2,2);stem(n,xn1);title('x(n)=IDFT(Xk)');x(n)1234567X k=DFT(xn)x(n)=IDFT(X k)③ 假定采用频率Fs=20Hz ,序列长度N 分别取8、32和64,用FFT 计算其幅度谱和相位谱。
实验四回声估计和回声消除

实验报告实验课程:数字信号处理实验开课时间:2023—2023学年秋季学期实验名称:回声估计和回声消除实验时间:2023年11月声日星期三学院:物理与电子信息学院年级:⅛≡班级:182学号:姓名:一一、实验预习实验方法步骤: (1)打开MAT1AB 软件 (2)根据题目要求编写程序 (3)运行程序 (4)分析实验结果 (5)关闭计算机 注意事项: (1)在使用MAT1AB 时应注意中英输入法的切换,在中文输入法输入程序时得到的程序是错误的; (2)MAT1AB 中两个信号相乘表示为X.*u,中间有个∖,,同样两个信号相除也是如此; (3)使用MAT1AB 编写程序时,应新建一个IT1文件,而不是直接在Comandante 窗口下编写程序; 在使用MAT1AB 编程时,应该养成良好的编写习惯。
注意事项: (4)对于实验电脑要爱惜,遵守实验的规则。
(5)程序运行前要检查程序是否正确。
在使用mat1ab 编程时,应该养成良好的编写习惯,新建一个f1ies 编写。
一些快捷键的使用,能提高编程效率。
He1p 能查询到不懂使用的函数使用方法,比如这个用到的fft 和fftshift 等函数。
在MAT1AB 信号处理工具箱中,提供了随机信号要功率谱估计的各段函数。
(1)periodogram 函数可以实现周期图法的功率谱估计,起吊用格式为IPxx,F]=PERIODOGRAM(x,WINDOW,NFFT,Fs)其中:X 为进行功率谱估计的输入有限长序列; WINDOW 用于制定采用的窗函数,默认值为矩形窗(boxcar),窗函数的长度等于输入序列X 的长度; NFFT 为DFT 的点数,一般取大于输入序列X 的长度,默认值为256;FS 是绘制功率谱曲线的抽样频率,默认值为1;Pxx 为功率谱估计值;F 为Pxx 值所对应的频率点。
(2)We1Ch-Bar1ett 平均周期图法可以利用PSD 函数实现,其调用格式为[Pxx,F]=PSD(x,NFFT,Fs,WINDOW,NOVER1AP)其中:参数X,NFFT,FS 用法同PeriOdograIn 函数:WINDOW 用于指定采用的窗函数,默认值为harming 窗;NoVER1AP 指定分段重叠的样函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四 离散时间信号的DTFT
一、实验目的
1. 运用MA TLAB 计算离散时间系统的频率响应。
2. 运用MA TLAB 验证离散时间傅立叶变换的性质。
二、实验原理
(一)、计算离散时间系统的DTFT
已知一个离散时间系统∑∑==-=
-N
k k N k k k n x b k n y a 00)()(,可以用MA
TLAB 函数frequz 非常方便地在给定的L 个离散频率点l ωω=处进行计算。
由于)(ωj e H 是ω的连续函数,需要
尽可能大地选取L 的值(因为严格说,在MA TLAB 中不使用symbolic 工具箱是不能分析模拟信号的,但是当采样时间间隔充分小的时候,可产生平滑的图形),以使得命令plot 产生的图形和真实离散时间傅立叶变换的图形尽可能一致。
在MA TLAB 中,freqz 计算出序列{M b b b ,,,10 }和{N a a a ,,,10 }的L 点离散傅立叶变换,然后对其离散傅立叶变换值相除
得到L l e
H l j ,,2,1),( =ω。
为了更加方便快速地运算,应将L 的值选为2的幂,如256或
者512。
例3.1 运用MA TLAB 画出以下系统的频率响应。
y(n)-0.6y(n-1)=2x(n)+x(n-1)
程序: clf;
w=-4*pi:8*pi/511:4*pi;
num=[2 1];den=[1 -0.6];
h=freqz(num,den,w);
subplot(2,1,1)
plot(w/pi,real(h));grid
title(‘H(e^{j\omega}的实部’))
xlabel(‘\omega/ \pi ’);
ylabel(‘振幅’);
subplot(2,1,1)
plot(w/pi,imag(h));grid
title(‘H(e^{j\omega}的虚部’))
xlabel(‘\omega/ \pi ’);
ylabel(‘振幅’);
(二)、离散时间傅立叶变换DTFT 的性质。
1.时移与频移
设 )]([)(n x FT e
X j =ω, 那么
)()]([00ωωj n j e X e n n x FT -=- (2.2.6) )()]([)(00ωωω-=j n j e X n x e FT (2.2.7)
2.时域卷积定理
如果 )()()(n h n x n y *=, 那么
)()()(ωωω
j j j e H e X e Y ⋅=
三、实验内容与步骤
1. 已知因果线性时不变离散时间系统
y(n)-0.4y(n-1)+0.75y(n-2)=2.2403x(n)+2.4908x(n-1)+2.2403x(n-2)
运用MATLAB 画出该系统的频率响应。
clf;
w=-4*pi:8*pi/511:4*pi;
num=[2.2403 2.4908 2.2403];den=[1 -0.4 0.75];
h=freqz(num,den,w);
subplot(2,1,1)
plot(w/pi,real(h));
grid
title('H(e^{j\omega}的实部)');
xlabel('\omega/ \pi');
ylabel('振幅');
subplot(2,1,2)
plot(w/pi,imag(h));
grid
title('H(e^{j\omega}的虚部)');
xlabel('\omega/ \pi');
ylabel('振幅');
运行结果:
2.运行下面程序并显示它,验证离散时间傅立叶变换DTFT的时移性。
clf;
w=-pi:2*pi/255: pi;wo=0.4*pi;D=10;
num=[1 2 3 4 5 6 7 8 9];
h1=freqz(num,1,w);
h2=freqz([zeros(1,D) num],1,w);
subplot(2,2,1)
plot(w/pi,abs(h1));grid
title(‘原序列的幅度谱’)
subplot(2,2,2)
plot(w/pi,abs(h2));grid
title(‘时移后序列的幅度谱’)
subplot(2,2,3)
plot(w/pi,angle (h1));grid
title(‘原序列的相位谱’)
subplot(2,2,4)
plot(w/pi, angle (h2));grid
title(‘时移后序列的相位谱’)
运行结果:
3.运行下面程序并显示它,验证离散时间傅立叶变换DTFT的频移性。
clf;
w=-pi:2*pi/255: pi;wo=0.4*pi;D=10;
num1=[1 3 5 7 9 11 13 15 17];L=length(num1);
h1=freqz(num1,1,w);n=0:L-1;
num2=exp(wo*i*n).*num1;
h2=freqz(num2,1,w);
subplot(2,2,1)
plot(w/pi,abs(h1));grid
title(‘原序列的幅度谱’)
subplot(2,2,2)
plot(w/pi,abs(h2));grid
title(‘频移后序列的幅度谱’)
subplot(2,2,3)
plot(w/pi,angle (h1));grid
title(‘原序列的相位谱’)
subplot(2,2,4)
plot(w/pi, angle (h2));grid
title(‘频移后序列的相位谱’)
运行结果:
4.运行下面程序并显示它,验证离散时间傅立叶变换时域卷积性质。
clf;
w=-pi:2*pi/255: pi;
x1=[1 3 5 7 9 11 13 15 17];
x2=[1 -2 3 -2 1];
y=conv(x1,x2);
h1=freqz(x1,1,w);
h2=freqz(x2,1,w);
hp=hi.*h2;
h3=freqz(y,1,w);
subplot(2,2,1)
plot(w/pi,abs (hp));grid
title(‘幅度谱的乘积’)
subplot(2,2,2)
plot(w/pi,abs (h3));grid
title(‘卷积后序列的幅度谱’)
subplot(2,2,3)
plot(w/pi,angle (hp));grid
title(‘相位谱的和’)
subplot(2,2,4)
plot(w/pi,angle (h3));grid
title(‘卷积后序列的相位谱’)
运行结果:
四、实验仪器设备
计算机,MATLAB软件
五、实验注意事项
课前预先阅读并理解实验程序;
六、思考题
1.讨论实验程序1中的离散时间系统的频率响应是离散的还是连续的,是否是周期的?周期为多少?
答:是连续的,同时也是周期的。
周期为2pi。
2.讨论实验程序2中h1和h2的关系是什么?哪个参数控制时移量?
答:h2的幅度与h1相同,相位变化频率是h1的2倍。
说明时移对幅度无影响,影响相频。
程序2中参数D控制时移量。
3. 讨论实验程序3中h1和h2的关系是什么?哪个参数控制频移量?
答:h2的相位变化与h1相同,幅度不同,h2幅度出现延迟,延迟月一个样本。
说明频移对相位无影响,影响幅度。
4. 讨论实验程序4中y与x1和x2的关系是什么?h1和h2与x1和x2的关系是什么?h1和hp相等吗?
答:Y是x1与x2的卷积。
h1和h2分别是x1和x2的频率响应。
h1和hp相等. +。