线性卷积与圆周卷积演示程序的设计

合集下载

线性卷积与圆周卷积的计算

线性卷积与圆周卷积的计算
周三晚上
数字信号处理实验报告
实验名称:线性卷积与圆周卷积的计算(实验四)
专业班 级: 学生姓名: 学 号: 指导教师:
二○一 年 月 日
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

数字信号处理实验线性卷积圆周卷积

数字信号处理实验线性卷积圆周卷积

数字信号处理实验线性卷积圆周卷积⼤连理⼯⼤学实验报告学院(系):电信专业:⽣物医学⼯程班级:**1101姓名:**** 学号:201181*** 组:___实验时间:实验室:实验台:指导教师签字:成绩:实验⼀线性卷积和圆周卷积⼀、实验程序1.给出序列x=[3,11,7,0,-1,4,2],h=[2,3,0,-5,2,1];⽤两种⽅法求两者的线性卷积y,对⽐结果。

a)直接调⽤matlab内部函数conv来计算。

b)根据线性卷积的步骤计算。

clear;clc;x=[3 11 7 0 -1 4 2];n1=0:1:length(x)-1;h=[2 3 0 -5 2 1];n2=0:1:length(h)-1;y=conv(x,h);n3=0:1:length(x)+length(h)-2;figure(1);subplot(121);stem(n1,x,'.');axis([0 6 -15 15]);title('x(n)序列');grid;subplot(122);stem(n2,h,'.');axis([0 5 -10 10]);title('h(n)序列');grid;figure(2);subplot(121);stem(n3,y,'.');axis([0 12 -60 60]);title('调⽤conv函数的线性卷积后序列');grid;N=length(x);M=length(h);L=N+M-1;for(n=1:L)y1(n)=0;for(m=1:M)k=n-m+1; if(k>=1&k<=N)y1(n)=y1(n)+h(m)*x(k); end; end; end;subplot(122);stem(n3,y1,'*');axis([0 12 -60 60]);title('按步骤计算的线性卷积后序列');grid; 结果2.卷积后结果y=[ 6 , 31 , 47 , 6 , -51 , -5 , 41 , 18 , -22 , -3 , 8 , 2]。

实验二 利用DFT计算线性卷积

实验二  利用DFT计算线性卷积

实验二 利用DFT 计算线性卷积一、实验目的1.掌握利用FFT 计算线性卷积的原理及具体实现方法。

2.加深理解重叠相加法和重叠保留法。

3.考察利用FFT 计算线性卷积各种方法的适用范围。

二、实验设备与环境计算机、MATLAB 软件环境三、实验基础理论1、线性卷积与圆周卷积设)(n x 为L 点序列,)(n h 为M 点序列,)(n x 和)(n h 的线性卷积为:∑∞-∞=-==m m n h m x n h n x n y )()()(*)()()(n y 的长度为:L+M-1,)(n x 和)(n h 的N 点圆周卷积为:)())(()()(10n R m n h m x n y N N m N -=∑-= 其中:1-+≥L M N此时圆周卷积等于线性卷积,而圆周卷积可利用FFT 计算。

2、快速卷积利用FFT 计算线性卷积步骤如下:(1)为了使线性卷积可以利用圆周卷积来计算,必须选择;同时为了能使用基2-FFT 完成卷积运算,要求γ2=N 。

采用补零的办法是)(n x 和)(n h 的长度均为N 。

(2)计算)(n x 和)(n h 的N 点FFT)()()()(k H n h k X n x FFTFFT →→(3)组成卷积 )()()(k H k X k Y =(4)利用IFFT 计算IDFT ,得到线性卷积y(n)(k)()IFFT Y y n −−−→3、分段卷积我们考察单位取样响应为)(n h 的线性系统,输入为)(n x ,输出为)(n y ,则)(*)()(n h n x n y =当输入序列时再开始进行卷积,会使输出相对输入有较大的延时,再者如果序列太长,需要大量的存储单元。

为此,我们把,分别求出每段的卷积,合在一起其到最后的总输出。

这种方法称为分段卷积。

分段卷积可细分为重叠相加法和重叠保留法。

重叠保留法:设)(n x 的长度为X N ,)(n h 的长度为M 。

我们把序列)(n x 分成多段N 点序列)(n x i ,每段与前一段重叠M-1个样本。

“数字信号处理”课程中“线性卷积”的微课设计

“数字信号处理”课程中“线性卷积”的微课设计
楚 到 底 是 如 何 实
现乘法累加计 算的。因此 ,笔者制作了

视频是微课 的关键 内容 ,目前微课
的视频 呈现形式 有摄 制型微课 、录屏型
关键词 :微课 ;线性卷积 ;教 学 微课是指按照新课程标准及教学实 践要 求 ,以视频 为主要呈现方式 ,反映
难 点 ,还能进行前置 } 生预 习,改变 了单

的由任课老师讲授的模式 ,提高 了学
看似 简单 , 实 则包 含序列的翻转 、 移位 、 相乘 和相 加 ,其运算过程比较复杂 。在 教学时采用图形解析 、f l a s h动画演 示以
生对 该课 程的学习兴趣 ,同时也 为各位
教师同仁提供了互相切磋学 习、相得 益

要 :微课作 为新的 网络学 习资源形
1 . 选 取知 识点
晰明确 ,沿着教学主题逐 步深 入 ,抓住 关键 ;对 公式 计 算 以动 画 方 式加 以 演
示 ,促 进学生对公式理解记忆 ;微课 的
式,在 国 内外迅速发 展起 来 ,微课 的理
论 、设 计也成为 网络学 习、移动学 习研 究的热 点。笔者在参加微课 培训 后 , 原 创 了微 课 “ 线性卷积”。该微课主题突 出,循序 渐进 ,设计合理 ,浅 显易懂 ,
陈文波 ( 1 9 8 3 一 ),男 ,湖 南衡 阳人 , 硕士 ,南华大学 电气工程学 院通信工程
要点 , 以图形和动画 的形式演示 出来 , 完 [ 2 ] 孟祥 增 ,刘瑞 梅 ,王广 新 。 微 课设 计 与制作 的理论 与实践 [ J ] . 远程教 育杂志 ,2 0 1 4( 0 6 ):2 4 —3 1 .
全 国 高校 教 师 网络培 训 计划 “ 微 课 的 设 计 、开发 与 应用 骨 干教 师 高级 研修 班” 后, 以“ 数字信号处理”课程 中 “ 线

[Matlab]线性卷积圆周卷积代码实现

[Matlab]线性卷积圆周卷积代码实现

[Matlab]线性卷积圆周卷积代码实现1、线性卷积周期卷积圆周卷积的关系:2、Matlab实验及现象圆周卷积:1 %% 圆周卷积实例程序2 %% Alimy 2014年11⽉21⽇20:19:123 clc;4 clear;5 %%准备数据6 N = 5;7 M = 5;8 L = N + M -1;9 x1n = [1,2,3,4,5];10 x2n = [1,5,9,7,3];11 kn_x1 = 0:1:N-1;12 kn_x2 = 0:1:M-1;13 kn_y = 0:1:L-1;14 %%画原始有限长序列15 subplot(4,2,1);16 stem(kn_x1,x1n);17 xlabel('n','FontSize',15);18 ylabel('x1n','FontSize',15);19 subplot(4,2,2);20 stem(kn_x2,x2n);21 xlabel('n','FontSize',15);22 ylabel('x2n','FontSize',15);2324 x1n_t = [x1n, zeros(1,L-N)]; %%补零25 x2n_t = [x2n, zeros(1,L-M)];26 kn_x1t = 0:1:(N+M-1)-1;27 kn_x2t = 0:1:(N+M-1)-1;28 %%画补0后序列29 subplot(4,2,3);30 stem(kn_x1t,x1n_t);31 xlabel('n','FontSize',15);32 ylabel('x1n补0后','FontSize',15);33 subplot(4,2,4);34 stem(kn_x2t,x2n_t);35 xlabel('n','FontSize',15);36 ylabel('x2n补0后','FontSize',10);3738 x1n_t = [x1n_t,x1n_t,x1n_t,x1n_t]; %沿拓39 x1n_t = fliplr(x1n_t); %翻转40 [x1t_x,x1t_y] = size(x1n_t);41 x1t_numbers = x1t_x * x1t_y;42 kn_x1t = -17:1:18;43 %%画沿拓翻转后的周期序列44 subplot(4,2,5);45 stem(kn_x1t,x1n_t);46 xlabel('t','FontSize',15);47 ylabel('x1n_t补0后再沿拓翻转后','FontSize',10);4849 x2n_t = [zeros(1,L),zeros(1,L),x2n_t,zeros(1,L)];50 kn_x2t = -18:1:17;51 subplot(4,2,6);52 stem(kn_x2t,x2n_t);53 xlabel('t','FontSize',15);54 ylabel('x2n_t补0后沿拓翻转后','FontSize',15);555657 %% 乘加移位58 yn = zeros(1,2*L);59for I = 1:1:1860 x1n_t = circshift(x1n_t,[0,1]);61 yn(I) = x2n_t*x1n_t';62 end6364 kn_yn = 0:1:2*(N+M-1)-1;65 subplot(4,2,7);66 stem(kn_yn,yn);67 xlabel('n','FontSize',15);68 ylabel('圆周卷积结果','FontSize',15);6970 %%取主值序列71 ynmain = zeros(1,L);72for I = 1:1:973 ynmain(I) = yn(I);74 end75 kn_ynm = 0:1:8;76 subplot(4,2,8);77 stem(kn_ynm,ynmain)78 xlabel('n','FontSize',15);79 ylabel('主值序列','FontSize',15);8081 %%cycleConv.m线性卷积:1 %% 线性卷积2 clc;3 clear;4 %%5 N = 5;6 M = 5;7 L = N + M - 1;8 x1n = [1,2,3,4,5];9 kx1 = 0:1:N-1;10 x2n = [1,5,9,7,3];11 kx2 = 0:1:M-1;1213 %% 线性卷积14 yn = conv(x1n,x2n);15 kyn = kx1(1)+kx2(1):1:kx1(end)+kx2(end); % 0:1:(N+M-1)-11617 %% 循环卷积 To do 2014年11⽉20⽇ 15:25:36 循环卷积怎么做1819 %% 画图20 subplot(2,2,1);21 stem(kx1,x1n);22 xlabel('n');23 ylabel('x1n');24 title('信号1');2526 subplot(2,2,2);27 stem(kx2,x2n);28 xlabel('n');29 ylabel('x1n');30 title('信号2');3132 subplot(2,2,3);33 stem(kyn,yn);34 xlabel('n');35 ylabel('yn');36 title('线性卷积结果');37 yn %% 1 7 22 44 69 88 82 47 15 linConv.m结果如下:当 L = N + M -1时,圆周卷积和线性卷积的结果⼀致:yn =1 7 22 44 69 88 82 47 15圆周卷积:线性卷积:。

线性卷积与圆周卷积的计算(杭电)

线性卷积与圆周卷积的计算(杭电)

信号、系统与信号处理实验Ⅱ实验报告实验名称:线性卷积与圆周卷积的计算一、实验目的1、通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。

2、掌握线性卷积与圆周卷积软件实现的方法,并验证两者之间的关系。

二、实验内容与要求已知两个有限长序列:x(n)= δ(n)+2δ(n-1)+3δ(n-2)+4δ(n-3)+5δ(n-4);h(n)= δ(n)+2δ(n-1)+δ(n-2)+2δ(n-3)1.编制一个计算两个线性卷积的通用程序,计算x(n)*h(n)。

2.编制一个计算圆周卷积的通用程序,计算上述4种情况下两个序列x(n)与h(n)的圆周卷积。

3.上机调试并打印或记录实验结果。

4.将实验结果与预先笔算的结果比较,验证真确性。

三、实验程序与结果1、计算两个线性卷积的通用程序,计算x(n)*h(n)。

xn=[1 2 3 4 5]hn=[1 2 1 2]N=length(xn);M=length(hn);L=N+M-1;for(n=1:L)y(n)=0;for(m=1:M)k=n-m+1;if(k>=1&k<=N)y(n)=y(n)+hn(m)*xn(k);endendendy=conv(xn,hn);ny=0:L-1;stem(ny,y) ;xlabel('n ');ylabel('y(n) ');figurestem(ny,yn) ;xlabel('n ');ylabel('y ');根据定义编写循环实现线性卷积结果:01234567n y (n )Conv 函数实现线性卷积结果:01234567n y2. 计算圆周卷积的通用程序,计算上述4种情况下两个序列x(n)与h(n)的圆周卷积。

主程序:clear allN=[5 6 9 10];xn=[1 2 3 4 5];hn=[1 2 1 2];yc1=circonv(xn,hn,N(1))yc2=circonv(xn,hn,N(2))yc3=circonv(xn,hn,N(3))yc4=circonv(xn,hn,N(4))figurestem(0:N(1)-1,yc1);xlabel('时间序号n');ylabel('信号幅度');title('5点圆周卷积');figurestem(0:N(2)-1,yc2);xlabel('时间序号n');ylabel('信号幅度');title('6点圆周卷积');figurestem(0:N(3)-1,yc3);xlabel('时间序号n');ylabel('信号幅度');title('9点圆周卷积');figurestem(0:N(4)-1,yc4);xlabel('时间序号n');ylabel('信号幅度');title('10点圆周卷积');定义函数:function yc=circonv(x1,x2,N)if length(x1)>Nerror('N必须大于等于x1的长度'); endif length(x2)>Nerror('N必须大于等于x2的长度'); endx1=[x1,zeros(1,N-length(x1))];x2=[x2,zeros(1,N-length(x2))];n=[0:N-1];x2=x2(mod(-n,N)+1);H=zeros(N,N);for n=1:1:NH(n,:)=cirshiftd(x2,n-1,N);yc=x1*H';function y=cirshiftd(x,m,N)if length(x)>Nerror('x 的长度必须小于N');endx=[x,zeros(1,N-length(x))];n=[0:1:N-1];y=x(mod(n-m,N)+1);时间序号n 信号幅度5点圆周卷积00.51 1.52 2.533.54 4.55时间序号n 信号幅度时间序号n 信号幅度时间序号n 信号幅度四、仿真结果分析编写的线性卷积程序和conv 函数的结果相同,也与笔算结果相同。

(完整word版)线性卷积与圆周卷积演示程序的设计

(完整word版)线性卷积与圆周卷积演示程序的设计

实验一线性卷积与圆周卷积演示程序的设计实验报告姓名学号专业班级指导老师分数《数字信号处理课程设计》任务书实验一 线性卷积与圆周卷积演示程序的设计一、 实验目的目的:① 熟练掌握MATLAB 工具软件在工程设计中的使用;② 熟练掌握线性卷积与圆周卷积的关系及LSI 离散时间系统系统响应的求解方法。

要求:① 动态演示线性卷积的完整过程;② 动态演示圆周卷积的完整过程; ③ 对比分析线性卷积与圆周卷积的结果。

步骤:① 可输入任意2待卷积序列x1(n)、x2(n),长度不做限定。

测试数据为:x1(n)={1,1,1,1,0,0,1,1,1,1,0,0},x2(n)={0,1,2,1,0,0,0,1,2,1,0,0};② 分别动态演示两序列进行线性卷积x1(n)﹡x2(n)和圆周卷积x1(n)⊙x2 (n)的过程;要求分别动态演示翻转、移位、乘积、求和的过程;③ 圆周卷积默认使用2序列中的最大长度,但卷积前可以指定卷积长度N 用以进行混叠分析;④ 根据实验结果分析两类卷积的关系。

⑤ 假定时域序列x1(n)、x2(n)的长度不小于10000,序列内容自定义。

利用FFT 实现快速卷积,验证时域卷积定理,并与直接卷积进行效率对比。

二、实验原理1、线性卷积:线性时不变系统(Linear Time-Invariant System, or L. T. I 系统)输入、输出间的关系为:当系统输入序列为)(n x ,系统的单位脉冲响应为)(n h ,输出序列为)(n y ,则系统输出为:∑∞-∞==-=m n h n x m n h m x n y )(*)()()()(或∑+∞-∞==-=m n x n h m n x m h n y )(*)()()()(上式称为离散卷积或线性卷积。

图1.1示出线性时不变系统的输入、输出关系。

)(n δ→ L. T. I —→)(n h —→ —→图1.1 线性时不变系统的输入、输出关系2、圆周卷积设两个有限长序列)(1n x 和)(2n x ,均为N 点长)(1n x )(1k X)(2n x )(2k X 如果)()()(213k X k X k X ⋅=则)()(~)(~)(10213n R m n x m x n x N N m ⎥⎦⎤⎢⎣⎡-=∑-=[]∑---=1021)()(N m N m n x m x)(1n x =N 10)(2-≤≤N n n x上式称为圆周卷积。

关于线性卷积及圆周卷积的简便竖式法计算

关于线性卷积及圆周卷积的简便竖式法计算

关于线性卷积及圆周卷积的简便竖式法计算
线性卷积和圆周卷积是数字信号处理中常见的两种卷积操作。

简单来说,线性卷积可以把两个信号之间的关系映射到输出上,而圆周卷积是一种更为复杂的运算,它可以寻找两个旋转的信号之间的关系。

下面就描述一下这两种卷积的简便竖式法计算。

线性卷积:
输入:
f(n)=x(n)*h(n)
f:输入信号;
x:样本函数;
h:滤波器。

步骤:
(1)将输入信号f分段;
(2)用滤波器在f的每一段输入取值上乘以x;
(3)对f的每一段结果求和,最终得到f的线性卷积输出。

圆周卷积:
输入:
F(n)=X(n)*H(n)
F:输入信号;
X:变换函数;
H:滤波器。

步骤:
(1)将输入信号F分段,每一段变换为正弦、余弦等函数;
(2)对每一段变换后的函数,用滤波器H乘以X;
(3)对每一段变换后函数结果求叠加和,以得到F的圆周卷积输出。

总结:
上述简便竖式法计算描述了两种卷积的计算步骤,即线性卷积和圆周卷积,在结果求叠加和时,用来表示信号实际上与自身的旋转有关的圆周卷积结果是不同的。

因此,这两种卷积的计算采用的步骤也有所不同。

以上就是线性卷积及圆周卷积的简便竖式法计算的长文描述。

线性卷积和圆周卷积的关系

线性卷积和圆周卷积的关系

X~
(k0
)e
jk
2 NT
nT
k
X~
(k0
)e
j
2 N
nk
k
频域的周期和采样间隔:
s 2fs 2 / T 2 /(Tp / N ) N0
~x (nT ) 时域周期、离散,周期为 N,采样间隔 T;
X~(k0 ) 频域周期、离散,周期为 N,采样间隔 0
反变换推导初步结果:
~x (n)
L 1
圆周卷积为: y(n) [ x1(m)x2 ((n m)) L ] RL (n) m0
这里必须将一个序列变成 L 点周期延拓序列,这里采用 x2 (n) 序列:
~x2 (n) x2 ((n)) L
x2 (n rL)
r
把它带入到 y(n) 中并考虑到前面的线性卷积公式,可得到:
L 1
k 0
n0
因此
X~ (k )
1
N
1
~x (n)e
j
2 N
kn
N n0
3、为与其他变换的书写形式统一,常写成
X~ (k )
N
1
~x
(n)e
j
2 N
kn
,k
~
n0
~x (n)
1 N
N
1
X~
(k
)e
j
2 N
nk
k 0

n
~
以上就是离散傅立叶级数(DFS)变换对
引入符号:
j 2
WN e N
正变换:
n0
j 2 rN
1 e
N j 2 r
1e N
N, 0,

r mN , m为任意整数 其他r

圆周卷积与周期卷积、线性卷积的关系与计算

圆周卷积与周期卷积、线性卷积的关系与计算

圆周卷积与周期卷积、线性卷积的关系及计算一、三者关系设:1122()01()01x n n N x n n N ≤≤-≤≤-N :圆周卷积的点数⏹ 圆周卷积是周期卷积的主值序列。

周期卷积:1120()()()N m y n x m x n m -==-∑ (1)圆周卷积:1120()()()[()(())]()N c N N N m y n y n R n x m x n m R n -===-∑1210[()(())]()N N N m x m x n m R n -==-∑ (2)注意:(2)式直接使用的前提是圆周卷积的点数N 应满足:12max[,]N N N ≥(一般题目均符合此种情况)⏹ 周期卷积是线性卷积的周期延拓。

线性卷积:1112120()()*()()()N l m y n x n x n x m x n m -===-∑212121()()()*()N m x m x n m x n x n -==-=∑ (4)圆周卷积与线性卷积的关系:()[()]()c l N r y n y n rN R n ∞=-∞=+∑ (5)注意:上述关系式对任意长度的圆周卷积均适合。

二、举例说明1、对于12max[,]N N N ≥的情况,各教材例题很多,不再举例。

2、12N N N N <<或的情况。

习题8.已知序列()()2(1)(4)3(5)x n n n n n δδδδ=+-+-+-,4()()y n R n =,求:(1)()()*()z n x n y n =(2)()()f n x n =○5()y n (5点圆周卷积)。

解:(){1,2,0,0,4,3},(){1,1,1,1}x n y n ==(1)()()(){1,3,3,3,3,4,4,4,3}z n x n y n =*=(过程略) (2)()()f n x n =○5()y n (5点圆周卷积),N =5。

线性卷积与圆周卷积演示程序的设计

线性卷积与圆周卷积演示程序的设计

1.设计基本原理1.1课题研究的背景卷积运算广泛的应用于通讯、电子、自动化等领域的线性系统的仿真、分析及数字信号处理等方面。

在MATLAB中可以使用线性卷积和圆周卷积实现离散卷积。

线性卷积是工程应用的基础,但圆周卷积实现线性离散卷积具有速度快等优势。

圆周卷积采用循环移位,在MATLAB中没有专用函数,需要根据圆周卷积的运算过程编制程序代码。

本实验主要围绕线性卷积和圆周卷积的演示程序设计来展开,给出了线性卷积和圆周卷积演示的程序及动态实现。

在线性时不变连续系统中,利用系统的冲激响应和叠加原理来求系统对任意激励信号作用时的零状态响应,这就是卷积方法的原理。

因此,在时域内,卷积运算是求解线性非时变系统零状态响应的重要方法,特别是激励信号为时限信号时尤其如此。

卷积运算的计算比较复杂,是信号与系统分析中的重点和难点,特别适合用于计算机来计算。

以往的卷积积分多用fortran、c、VB等语言编程,不仅编程繁琐,而且可视性差。

用MATLAB来计算卷积积分问题要比用C、FORTRAN 等语言完成相同的事情简洁的多。

在MATLAB中,有很多现成的函数可以直接调用,而且在计算机方面,可以直接用相应的计算机符号即可。

在编写程序语言方面,它与其他语言相比更为简单。

正因为上述原因,使他深受工程技术人员及科学专家的欢迎,并很快成为应用学科计算机辅助分析、设计、仿真、教学等领域不仅可缺少的基础软件。

1.2课题研究意义本课程为电子信息工程专业的独立实践课,是建立在信号与系统、数字信号处理等课程的基础上,加强实践环节而开设的。

其目的在于通过本课程设计使学生进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使学生能有效地将理论和实际紧密结合;增强学生软件编程实现能力和解决实际问题的能力。

通过课程设计,主要达到以下的目的:(1)使学生增进对MATLAB的认识,加深对信号处理理论的理解。

(2)使学生掌握数字信号处理中频谱分析的概念和方法。

线性卷积和圆周卷积

线性卷积和圆周卷积

x1 ( n)
DSP
1
0
x2 ( n)
N 1
n
1
0
x2 ((0 m)) N RN ( m)
N 1
n
1
x2 ((1 m)) N RN ( m)
1
N 1
m
0
y ( n) x1 ( n) N x2 ( n)
N 1
m
3 2 1 0
N 1
m
结论
DSP
设两序列为x(n)和h(n),长度分别为N、M;则其 线形卷积的长度为N+M-1,而圆周卷积的长度为 K=Max(N,M)。实际上还可以计算K+1、 K+2、。。。、N+M-1、N+M、N+M+1….等点 的圆周卷积,只有L≥N1+N2-1,则L点圆周卷 积和线性卷积相等。
DSP
圆周卷积过程
DSP
补零:若 x(n) 的长度是 N,h(n) 的长度是 M, 取,对序列补零至H点。 周期延拓:先在哑变量坐标 m 上作出 x(m) 和 h(m),将h(m)周期延拓。 翻褶,取主值序列:对 h(m)以 m=0的垂直轴 为对称轴翻褶成h (-m),然后取主值序列。 圆周移位:对得到的序列进行圆周移位。 相乘相加:与 x(m) 对应项相乘,并累加,得到 y(n)
DSP
线性卷积和圆周卷积
付海燕
实验目的
DSP
理解离散序列的线性卷积与圆周卷积的原理,比 较其相同和不同点 掌握线性卷积与圆周卷积的计算步骤和计算方法 能熟练使用Matlab的相关命令。
卷积和的运算步骤
DSP
翻 褶 : 先 作 出 x(m) 和 h(m), 将 h(m) 以 m=0的垂直轴为对称轴翻褶成h(-m)。 移位:将h(-m)移位,即得h(n-m)。当n为正 整数时,右移n位。当为负整数时,左移n位。 相乘:再将 h(n-m) 和 x(m) 的相同 m 值的对应 点值相乘 相加:把以上所有对应点的乘积叠加起来,即得 y(n)值。

线性卷积与圆周卷积

线性卷积与圆周卷积

线性卷积与圆周卷积伦敦奥运会也将接近尾声,中国体育代表团获得的⾦牌屈居第⼆,貌似后⾯也没有⼏个夺⾦点了,不过这已经很不错了。

然⽽奥运期间⼏场⽐赛却让⼈难忘。

⼥双打“假球”事件惹来国内⼀⽚哗然,有骂她们的,也有为她们不值的,其实错也不应该让她们承担,奥运作为竟技⽐赛,不可能完全不考虑胜负⽽每场⽐赛却拼个你死我活,当然得考虑战略战术,谁愿意⼀上来就和本国另⼀队拼个你死我活,想想当年中国队与中国⾹港队⾜球在⼩组中为让中国队出线打成7:0,就觉得这确实没什么;林丹决赛和李宗伟那场巅峰对决确实扣⼈⼼弦,不愧是超级丹!中国⼥排进四强⽐赛中在2:3情况下不敌⽇本队,让⼈觉得挽惜,中国⼥排打得也不错,貌似第⼀局有点轻敌,更没有想到的是⽇本⼥排异常的顽强;刘翔摔倒那⼀刻估计很多⼈像会不禁惊叫出来,当时为了看刘翔⽐赛,提前离开教研室去吃饭,回来在正好在⼤屏幕上看到刘翔马上要⽐赛,⼤屏幕前已经站了很多同学,当时⼼想进决赛应该没问题,但摔倒那⼀刻许多⼈都表⽰失望,其实也不是怪刘翔,⽽是当希望变成失望时⼀时⽆法接受,因此刘翔承载了太多⼈的希望,也可能是由于⼤家让刘翔承载太多,让他折断飞翔的两翼.....继续关注奥运⽐赛。

话⼊正题,前两天看了下线性卷积和圆周卷积,并对他们之间的关系作出验证。

线性卷积与圆周卷积离散线性卷积的定义:设长度为N1的序列x(n)和长度为N2的序列h(n)进⾏线性卷积,得到长度为N1+N2-1的y(n):离散圆周卷积的定义:圆周卷积是定义在有限长序列之间的。

设有限长序列x(n)和h(n)的长度分别为N1和N2,取N>=max(N1,N2),定义它们的N点圆周卷积为:圆周卷积定理:设有限长序列x(n)和h(n)的长度分别为N1和N2,取N>=max(N1,N2),分别对x(n)和h(n)取N点的DFT,将结果取N点的IDFT得到y(n),且y(n)=.圆周卷积定理建⽴起圆周卷积与DFT之间的关系,因此求圆周卷积只须⽤DFT进⾏计算即可,⽽DFT可⽤FFT实现。

《数字信号处理》圆周卷积和与线性卷积和实验

《数字信号处理》圆周卷积和与线性卷积和实验

《数字信号处理》圆周卷积和与线性卷积和实验一、实验目的1. 掌握用MTALAB软件实现有限长序列的圆周移位和圆周翻褶的方法;2. 掌握在MATLAB中圆周卷积和的时域和频域计算方法;3. 理解圆周卷积和与线性卷积和的关系,掌握用FFT计算线性卷积和的方法。

二、实验原理和实验内容1. 圆周移位和圆周翻褶(1)求余数(模运算)函数mod(n,N)调用方法:n1=mod(n,N)功能:n1=n + KN,0≤ n1≤ N-1,K为整数,余数n1在0至N-1之间将模运算用到位置向量上,可实现有限长序列的周期延拓,即1(mod)(())Nn n N n==。

设x的起始位置为0,长度为N,坐标为:n=0:K*N-1 % N为延拓周期,K为周期数延拓后序列的值为:x=x(mod(n, N)+1)由于MATLAB中数组x的下标是为nx=[1:N],而mod(n, N)的值在0到N-1之间,因此要将mod( )函数的结果加1。

➢练习调用该函数mod( )将序列()[1,2,3,4,5]x n=延拓5个周期得到序列y(n)。

程序x=[1,2,3,4,5]nx=[0:1:4];n=[0:1:24];N=5;y=x(mod(n,N)+1)subplot(121),stem(nx,x);title('原序列');subplot(122),stem(n,y);title('延拓后序列');结果x =1 2 3 4 5y =Columns 1 through 151 2 3 4 5 1 2 3 4 5 1 2 3 4 5 Columns 16 through 251 2 3 4 5 1 2 3 4 5(2)圆周移位N 点有限长序列的m 点移位可以看成将()x n 以N 为周期,延拓成周期序列()(())N x n x n =,将(())N x n 做m 点线性移位后,再取主值区间中的序列,即可得到()x n 的m 点圆周移位序列()m x n ,即()(())()m N N x n x n m R n =+注意:只能计算有限长序列的DTFT ,对于无限长序列,要进行截取。

线性卷积与圆周卷积实验报告

线性卷积与圆周卷积实验报告

大连理工大学实验报告学院(系):电子信息与电气工程学部专业:电子信息工程(英语强化) 班级:电英1001班姓名:刘志旋学号:201081510 组:___ 实验时间:实验室:实验台:指导教师签字:成绩:实验二电话拨号音的合成与识别五、实验数据记录和处理在函数num1_OpeningFcn中定义全局变量handles.NUM实验程序如下:1.数字键1的代码wl1=2*pi*697/8192; %数字1 的行频wh1=2*pi*1209/8192; %数字1 的列频n=[1:410]; % 每个数字用410 个采样点表示d1=sin(wl1*n)+sin(wh1*n); % 对应行频列频叠加space=zeros(1,410); %410 个0 模拟静音信号phone=[handles.NUM,d1];handles.NUM=[phone, space]; %将得到的820点存入全局变量handles.NUM中n1=strcat(get(handles.numshow,'string'),'1'); % 获取数字号码set(handles.numshow,'string',n1); % 显示号码guidata(hObject, handles); %刷新wavplay(d1,8192); %按键音其他的数字键同1,只需要修改其中的行列频和显示数字2.删除键(*键)的代码wl1=2*pi*941/8192; %*键的行频wh1=2*pi*1209/8192; %*键的列频n=[1:410];d1=sin(wl1*n)+sin(wh1*n);num=get(handles.numshow,'string'); %得到屏幕上的内容l=length(num); %得到长度n11=strrep(num,num,num(1:l-1)); %删除最后的一个字符set(handles.numshow,'string',n11); %显示现在的结果L=length(handles.NUM);handles.NUM=handles.NUM(1:L-820); %删除820点,该为要删除点的采样值guidata(hObject, handles);wavplay(d1,8192);3.全部清除键(#键)的代码wl1=2*pi*941/8192;wh1=2*pi*1477/8192;n=[1:410]; % 每个数字用 410 个采样点表示d1=sin(wl1*n)+sin(wh1*n); % 对应行频列频叠加handles.NUM=[]; %将全局变量handles.NUM清空set(handles.numshow,'string',[]); % 将显示清空guidata(hObject, handles);wavplay(d1,8192);4.识别键(receive 键)的代码L=length(handles.NUM);n=L/820;number=zeros(1,n);for i=1:nj=(i-1)*820+1;d=handles.NUM(j:(j+410-1)); % 截取出每个数字f=fft(d,8192); % 以N=2048 作FFT 变换a=abs(f);p=a.*a/8192; % 计算功率谱num(1)=find(p(1:1000)==max(p(1:1000))); % 找行频%找列频num(2)=1000+find(p(1000:1700)==max(p(1000:1700)));if (num(1) < 730)row=1; % 确定行数elseif (num(1) < 810)row=2;elseif (num(1) < 900)row=3;elserow=4;endif (num(2) < 1260)column=1; % 确定列数elseif (num(2) < 1400)column=2;elsecolumn=3;end z=[row,column]; % 确定数字if z==[4,2]phone=0;elseif z==[1,1]phone=1;elseif z==[1,2]phone=2;elseif z==[1,3]phone=3;elseif z==[2,1]phone=4;elseif z==[2,2]phone=5;elseif z==[2,3]phone=6;elseif z==[3,1]phone=7;elseif z==[3,2]phone=8;elseif z==[3,3]phone=9;end%将整型数转化成字符number=strcat(number,int2str(phone)); end% 显示号码set(handles.shownum1,'string',number);5.数字拨号音的频谱图产生代码a=handles.NUM(1:420);a=fft(a,8192);a=abs(a);figure(1)stem(a)title('第一个输入数字拨号音的频谱图')xlabel('频率Hz'),ylabel('幅度')figure(2)a=a(1:1700);stem(a)title('第一个输入数字拨号音的频谱图')xlabel('频率Hz'),ylabel('幅度')六、实验结果与分析1.GUI下的实验结果图上面的六张图从左到右,从上到下分别是:运行程序后的界面、输入1008611后的界面、按1次*键(删除键)后的界面、按1次Receive(识别键)后的界面、按1次#键(清除键)后的界面、再按1次Receive(识别键)后的界面。

实验七 卷积实验(2)

实验七 卷积实验(2)

实验七卷积实验(2)[实验目的](1)通过编程、上机调试程序,进一步增强使用计算机解决问题的能力。

(2)掌握线性卷与圆周卷积软件实现的方法,并验证两者之间的关系。

[实验内容及要求]编制一个计算圆周卷积的通用程序,计算两个序列x(n)与h(n)的圆周卷积。

[实验步骤]1、编写序列线性卷积函数M文件%圆周卷积函数function yc=circonv(x1,x2,N);%ÓÃÖ±½Ó·¨ÊµÏÖÔ²Öܾí»ý%y=circonv(x1,x2,N);%y:Êä³öÐòÁÐ%x1,x2 ÊäÈëÐòÁÐ%NÔ²Öܾí»ýµÄ³¤¶Èif length(x1)>Nerror('N±ØÐë´óÓÚµÈÓÚx1µÄ³¤¶È');endif length(x2)>Nerror('N±ØÐë´óÓÚµÈÓÚx2µÄ³¤¶È');end%ÒÔÉÏÁ½¸öÓï¾äÅжÏÁ½ÐòÁеij¤¶ÈÊÇ·ñСÓÚNx1=[x1,zeros(1,N-length(x1))];%Ìî³äÐòÁÐx1(n)ʹÆ䳤¶ÈΪN£¬ÐòÁÐh(n)µÄ³¤¶ÈΪN1£¬ÐòÁÐx(n)µÄ³¤¶ÈΪN2 x2=[x2,zeros(1,N-length(x2))];%Ìî³äÐòÁÐx2(n)ʹÆ䳤¶ÈΪNn=[0:1:N-1];x2=x2(mod(-n,N)+1);%Éú³ÉÐòÁÐx2((-n))NH=zeros(N,N);for n=1:1:NH(n,:)=cirshiftd(x2,n-1,N);%¸Ã¾ØÕóµÄKÐÐΪx2((k-1-n))Nendyc=x1*H';计算圆周卷积%¼ÆËãÔ²Öܾí»ýfunction y=cirshiftd(x,m,N);if length(x)>N;error('xµÄ³¤¶È±ØÐë´óÓÚÓÚN');endx=[x,zeros(1,N-length(x))];n=[0:1:N-1];y=x(mod(n-m,N)+1);验证实验结果:x1=[1 2 3 4];x2=[1 1 1 1];y=circonv(x1,x2,4)y =10 10 10 10y=circonv(x1,x2,8)y =1 3 6 10 9 7 4 0 同书本结果一致。

仿真实验四 循环卷积和线性卷积的实现

仿真实验四 循环卷积和线性卷积的实现

实验四 循环卷积和线性卷积的实现一、实验目的1.进一步了解并掌握循环卷积与线性卷积的概念2.掌握线性卷积与循环卷积软件实现的方法,理解掌握二者的关系 二、实例分析与计算 实验原理:两个序列的N 点循环卷积定义为)())(()()]()([N n m n x m h n x n h N k NN <≤-=⊗∑-=01从定义中可以看出,循环卷积和线性卷积的不同之处在于:两个N 点序列的N 点循环卷积的结果认为N 点序列,而它们的线性卷积的结果的长度则为2N-1;循环卷积对序列的移位采取循环移位,而线性卷积对序列采取线性移位。

圆卷积与线卷积结果完全不同,出现这种差异的实质是:线卷积过程中,经反褶再向右平移的序列,在左端将依次留出空位,而圆卷积过程中,经反褶做圆移的序列,向右移去的样值又从左端循环出现,这样就使两种情况下相乘、叠加所得之数值截然不同。

根据DFT 循环卷积性质中的卷积定理)]([)]([})]()({[n h DFT n x DFT n x n h DFT N ∙=⊗可通过两种方法求两个序列的循环卷积:一是直接根据定义计算;二是根据性质先分别求两个序列的N 点DFT ,并相乘,然后取IDFT 以得到循环卷积。

第二种方法看起来要经过若干个步骤,但由于求序列的DFT 和IDFT 都有快速算法,因此它的效率比第一种方法高得多。

已知有线长序列)(n x 如图题5-8所示,试画出(1))(n x与)(n x的线卷积;(2))(n x与)(n x的4点圆卷积;(3))(n x与)(n x的10点圆卷积;(4)欲使)(n x与)(n x的圆卷积和线卷积相同,求长度L之最小值解:(1)线卷积m 0 1 2 3X(m) 0.5 1 1 0.5H(m) 0.5 0 0 0 y(0)=0.5x0.5=0.251 0.5 0 0 y(1)=1x0.5+1x0.5=11 1 0.5 0 y(2)=1x0.5+1x1+1x0.5=20.5 1 1 0.5 y(3)=0.5x0.5+1x1+1x1+0.5x0.5=2.50 0.5 1 1 y(4)=0.5x1+1x1+0.5x1=20 0 0.5 1 y(5)=0.5x1+0.5x1=10 0 0 0.5 y(6)=0.5x0.5=0.250 0 0 0 y(7)=0(2)44))((,))((n h n xm 0 1 2 3)(m x 0.5 1 1 0.5)(m h - 0.5 0.51 1y(0)=0.5x0.5+1x0.5+1x1+0.5x1=49m 0 1 2 3)(m x 0.5 1 10.5)(m h - 1 0.5 0.5 1y(1)=0.5x1+1x0.5+1x0.5+0.5x1=2m 0 1 2 3)(m x 0.5 1 1 0.5 )(m h - 1 1 0.50.5y(2)=0.5x1+1x1+1x0.5+0.5x0.5=49m 0 1 2 3)(m x 0.5 1 1 0.5 )(m h - 0.5 1 10.5y(3)=0.5x0.5+1x1+1x1+0.5x0.5=2.5(3)1010))((,))((n x n xm 0 1 2 3 4 5 6 7 8 9)(m x 0.5 1 1 0.5 0 0 0 0 0 0 )(m h - 0.5 0 00 0 0 0 0.5 1 1y(0)=0.5x0.5=0.25m 0 1 2 3 4 5 6 7 8 9)(m x 0.5 1 1 0.5 0 0 0 0 0 0 )(m h - 1 0.5 00 0 0 0 0 0.5 1y(1)=0.5x1+1x0.5=1m 0 1 2 3 4 5 6 7 8 9)(m x )(m h - 1 1 0.50 0 0 0 0 0 0.5y(2)=0.5x1+1x1+1x0.5=2m 0 1 2 3 4 5 6 7 8 9)(m x 0.5 1 1 0.5 0 0 0 0 0 0 )(m h - 0.5 1 10.5 0 0 0 0 0 0y(3)=0.5x0.5+1x1+1x1+0.5x0.5=2.5m 0 1 2 3 4 5 6 7 8 9)(m x 0.5 1 1 0.5 0 0 0 0 0 0 )(m h - 0 0.5 11 0.5 0 0 0 0 0y(4)=1x0.5+1x1+0.5x1=2m 0 1 2 3 4 5 6 7 8 9)(m x 0.5 1 1 0.5 0 0 0 0 0 0 )(m h - 0 0 0.51 1 0.5 0 0 0 0y(5)=1x0.5+0.5x1=1m 0 1 2 3 4 5 6 7 8 9)(m x 0.5 1 1 0.5 0 0 0 0 0 0 )(m h - 0 0 00.5 1 1 0.5 0 0 0y(6)=0.5x0.5=0.25m 0 1 2 3 4 5 6 7 8 9)(m x )(m h - 0 0 00 0.5 1 1 0.5 0 0y(7)=0m 0 1 2 3 4 5 6 7 8 9)(m x 0.5 1 1 0.5 0 0 0 0 0 0 )(m h - 0 0 00 0 0.5 1 1 0.5 0y(8)=0m 0 1 2 3 4 5 6 7 8 9)(m x 0.5 1 1 0.5 0 0 0 0 0 0 )(m h - 0 0 00 0 0 0.5 1 1 0.5y(9)=0 (4)L ≥M+N-1=4+4-1=7 所以L 的最小长度为7三、应用MATLAB 仿真所用程序实现如下:首先得有计算循环卷积的函数function y = circonv1(x1,x2,N)if length(x1)>Nerror('N must not be less than length of x1') endif length(x2)>Nerror('N must not be less than length of x2') endx1=[x1,zeros(1,N-length(x1))]; x2=[x2,zeros(1,N-length(x2))]; n=[0:1:N-1];x2=x2(mod(-n,N)+1); H=zeros(N,N);for n=1:1:NH(n,:)=cirshiftd(x2,n-1,N); endy=x1*H';function y=cirshiftd(x,m,N)% 输出序列含循环移位(y=Output sequence contains circular shift 。

周期卷积_循环卷积与线性卷积38页PPT

周期卷积_循环卷积与线性卷积38页PPT
周期卷积_循环卷积与线性卷积
16、人民应该为法律而战斗,就像为 了城墙 而战斗 一样。 ——赫 拉克利 特 17、人类对于不公正的行为加以指责 ,并非 因为他 们愿意 做出这 种行为 ,而是 惟恐自 己会成 为这种 行为的 牺牲者 。—— 柏拉图 18、制定法律法令,就是为了不让强 者做什 么事都 横行霸 道。— —奥维 德 19、法律是社会的习惯和思想的结晶 。—— 托·伍·威尔逊 20、人们嘴上挂着的法律,其真实含 义是财 富。— —,否则就不是奢侈 。——CocoCha nel 62、少而好学,如日出之阳;壮而好学 ,如日 中之光 ;志而 好学, 如炳烛 之光。 ——刘 向 63、三军可夺帅也,匹夫不可夺志也。 ——孔 丘 64、人生就是学校。在那里,与其说好 的教师 是幸福 ,不如 说好的 教师是 不幸。 ——海 贝尔 65、接受挑战,就可以享受胜利的喜悦 。——杰纳勒 尔·乔治·S·巴顿

信号与系统 圆卷积仿真实验

信号与系统 圆卷积仿真实验

循环卷积与线性卷积的实现一、实验目的1)进一步理解并掌握循环卷积与线性卷积的概念; 2)理解掌握二者的关系。

二、实验原理两个序列的N 点循环卷积定义为从定义中可以看到,循环卷积和线性卷积的不同之处在于:两个N 点序列的N 点循环卷积的结果仍为N 点序列,而它们的线性卷积的结果的长度为2N-1;循环卷积对序列的移位采取循环移位,而线性卷积对序列采取线性移位。

正是这些不同,导致了线性卷积和循环卷积有不同的结果和性质。

循环卷积和线性卷积虽然是不用的概念,但它们之间由一个有意义的公式联系在一起其中。

也就是说,两个序列的N 点循环卷积是它们线性卷积以N 为周期的周期延拓。

设序列还的长度为,序列的长度为,此时,线性卷积结果的序列的点数为;因此如果循环卷积的点数N 小于,那么上述周期性延拓的结果就会产生混叠,从而两种卷积会有不同的结果。

而如果N 满足的条件,就会有这就意味着时域不会产生混叠。

因此,我们得出结论:若通过在序列的末尾填充适当的零值,使得和成为点序列,并作为这两个序列的循环卷积,那么循环卷积与线性卷积的结果在范围内相同。

1[()()]()(())N N Nk h n x n h m x n m -=⊗=-∑(0)n N ≤<()[()()](())()N N r y n h n x n y n rN G n ∞=-∞'=⊗=-∑()()()y n h n x n '=*()h n 1N ()x n 2N 121N N N '=+-121N N +-N N '=()()y n y n '=(0)n N ≤<()x n ()h n 121N N +-121N N +-0n N ≤<根据DFT 循环卷积性质中卷积定理便可通过两种方法求两个序列的循环卷积:一直直接根据定义计算;二是根据性质先分别求两个序列的N 点DFT ,并相乘,然后取IDFT 以得到循环卷积。

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

实验一线性卷积与圆周卷积演示程序的设计实验报告学号专业班级指导老师分数《数字信号处理课程设计》任务书实验一 线性卷积与圆周卷积演示程序的设计一、 实验目的目的:① 熟练掌握MATLAB 工具软件在工程设计中的使用;② 熟练掌握线性卷积与圆周卷积的关系及LSI 离散时间系统系统响应的求解方法。

要求:① 动态演示线性卷积的完整过程;② 动态演示圆周卷积的完整过程; ③ 对比分析线性卷积与圆周卷积的结果。

步骤:① 可输入任意2待卷积序列x1(n)、x2(n),长度不做限定。

测试数据为:x1(n)={1,1,1,1,0,0,1,1,1,1,0,0},x2(n)={0,1,2,1,0,0,0,1,2,1,0,0};② 分别动态演示两序列进行线性卷积x1(n)﹡x2(n)和圆周卷积x1(n)⊙x2 (n)的过程;要求分别动态演示翻转、移位、乘积、求和的过程;③ 圆周卷积默认使用2序列中的最大长度,但卷积前可以指定卷积长度N 用以进行混叠分析;④ 根据实验结果分析两类卷积的关系。

⑤ 假定时域序列x1(n)、x2(n)的长度不小于10000,序列容自定义。

利用 FFT 实现快速卷积,验证时域卷积定理,并与直接卷积进行效率对比。

二、实验原理1、线性卷积:线性时不变系统(Linear Time-Invariant System, or L. T. I 系统)输入、输出间的关系为:当系统输入序列为)(n x ,系统的单位脉冲响应为)(n h ,输出序列为)(n y ,则系统输出为:∑∞-∞==-=m n h n x m n h m x n y )(*)()()()(或∑+∞-∞==-=m n x n h m n x m h n y )(*)()()()(上式称为离散卷积或线性卷积。

图1.1示出线性时不变系统的输入、输出关系。

)(n δ→ L. T. I —→)(n h —→ —→图1.1 线性时不变系统的输入、输出关系2、圆周卷积设两个有限长序列)(1n x 和)(2n x ,均为N 点长)(1n x )(1k X )(2n x )(2k X如果)()()(213k X k X k X ⋅=则)()(~)(~)(10213n R m n x m x n x N N m ⎥⎦⎤⎢⎣⎡-=∑-=[]∑---=1021)()(N m N m n x m x)(1n x =N 10)(2-≤≤N n n x上式称为圆周卷积。

注:)(~1n x 为)(1n x 序列的周期化序列;)()(~1n R n x N 为)(~1n x 的主值序列。

上机编程计算时,)(3n x 可表示如下:∑∑-+==-++-=1121213)()()()()(N n m nm m n N xm x m n x m x n x3、两个有限长序列的线性卷积序列)(1n x 为L 点长,序列)(2n x 为P 点长,)(3n x 为这两个序列的线性卷积,则)(3n x 为∑+∞-∞=-=m m n xm x n x )()()(213)(n x 0L. T. I∑+∞-∞=-=m m n h m x n y )()()(D F T D F T且线性卷积)(3n x 的最大长1-+P L ,也就是说当1-≤n 和1-+≥P L n 时)(3=n x 。

4、圆周卷积与线性卷积的关系序列)(1n x 为L 点长,序列)(2n x 为P 点长,若序列)(1n x 和)(2n x 进行N 点的圆周卷积,其结果是否等于该两序列的线性卷积,完全取决于圆周卷积的长度:当1-+≥P L N 时圆周卷积等于线性卷积,即)(1n x N )(*)()(212n x n x n x =当1-+<P L N 时,圆周卷积等于两个序列的线性卷积加上相当于下式的时间混叠,即⎪⎩⎪⎨⎧-≤≤+=∑+∞-∞=nN n rN n x n x r N 其它010)()(33三、实验步骤已知两个有限长序列)4(5)3(4)2(3)1(2)()(-+-+-+-+=n n n n n n x δδδδδ )3(2)2()1(2)()(-+-+-+=n n n n N H δδδδ1、实验前,预先笔算好这两个序列的线性卷积及下列几种情况的圆周卷积)()1(n x ⑤)(n h )()2(n x ⑥)(n h )()3(n x ⑨)(n h )()4(n x ⑩)(n h2、编制一个计算圆周卷积的通用程序,计算上述4种情况下两个序列)(n x 与)(n h 的圆周卷积。

3、上机调试并打印或记录实验结果。

4、将实验结果与预先笔算的结果比较,验证其正确性。

五、实验报告1、列出计算两种卷积的公式,列出实验程序清单(包括必要的程序说明)。

2、记录调试运行情况及所遇问题的解决方法。

3、给出实验结果,并对结果作出分析。

验证圆周卷积两者之间的关系实验结果(1)程序clear all;N1=5;N2=4;xn=[1,1,1,1,0,0,1,1,1,1,0,0];%生成x(n)hn=[0,1,2,1,0,0,0,1,2,1,0,0];%生成h(n)yln=conv(xn,hn);%直接用函数conv计算线性卷积ycn=circonv(xn,hn,5);%用函数circonv计算N1点圆周卷积ny1=[0:1:length(yln)-1];ny2=[0:1:length(ycn)-1];subplot(2,1,1);%画图stem(ny1,yln);ylabel('线性卷积');subplot(2,1,2);stem(ny2,ycn);ylabel('圆周卷积');题目:已知两个有限长序列x(n)=δ(n)+2δ(n-1)+3δ(n-2)+4δ(n-3)+5δ(n-4)h(n)=δ(n)+2δ(n-1)+δ(n-2)+2δ(n-3)计算以下两个序列的线性卷积和圆周卷积(1)x(n)⑤y(n) (2)x(n)⑥y(n) (3)x(n)⑨y(n) (4)x(n)⑩y(n)●调用函数circonvfunction yc=circonv(x1,x2,N)%用直接法实现圆周卷积%y=circonv(x1,x2,N)%y:输出序列%x1,x2:输入序列%N:圆周卷积的长度if length(x1)>Nerror;endif length(x2)>Nerror;end%以上语句判断两个序列的长度是否小于Nx1=[x1,zeros(1,N-length(x1))];%填充序列x1(n)使其长度为N,序列h(n)的长度为N1,序列x(n)的长度为N2x2=[x2,zeros(1,N-length(x2))];%填充序列x2(n)使其长度为Nn=[0:1:N-1];x2=x2(mod(-n,N)+1);%生成序列x2((-n))N,镜像,可实现对x(n)以N为周期的周期延拓,加1是因为MATLAB 向量下标只能从1开始。

H=zeros(N,N);%生成N行N列的零矩阵for n=1:1:NH(n,:)=cirshifted(x2,n-1,N);%该矩阵的k行为x2((k-1-n))Nendyc=x1*H';%计算圆周卷积●调用函数cirshiftdfunction y=cirshiftd(x,m,N)%直接实现序列x的圆周移位%y=cirshiftd(x,m,N)%x:输入序列,且它的长度小于N%m:移位位数%N:圆周卷积的长度%y:输出的移位序列if length(x)>Nerror('x的长度必须小于N');endx=[x,zeros(1,N-length(x))];n=[0:1:N-1];y=x(mod(n-m,N)+1);•函数(1)x(n)⑤y(n)clear all;N1=5;N2=4;xn=[1 2 3 4 5];%生成x(n)hn=[1 2 1 2];%生成h(n)yln=conv(xn,hn);%直接用函数conv计算线性卷积ycn=circonv(xn,hn,5);%用函数circonv计算N1点圆周卷积ny1=[0:1:length(yln)-1];ny2=[0:1:length(ycn)-1];subplot(2,1,1);%画图stem(ny1,yln);ylabel('线性卷积');subplot(2,1,2);stem(ny2,ycn);ylabel('圆周卷积');•函数(2)x(n)⑥y(n)clear all;N1=5;N2=4;xn=[1 2 3 4 5];%生成x(n)hn=[1 2 1 2];%生成h(n)yln=conv(xn,hn);%直接用函数conv计算线性卷积ycn=circonv(xn,hn,6);%用函数circonv计算N1点圆周卷积ny1=[0:1:length(yln)-1];ny2=[0:1:length(ycn)-1];subplot(2,1,1);stem(ny1,yln);ylabel('线性卷积');subplot(2,1,2);stem(ny2,ycn);ylabel('圆周卷积');•函数(3)x(n)⑨y(n)clear all;N1=5;N2=4;xn=[1 2 3 4 5];%生成x(n)hn=[1 2 1 2];%生成h(n)yln=conv(xn,hn);%直接用函数conv计算线性卷积ycn=circonv(xn,hn,9);%用函数circonv计算N1点圆周卷积ny1=[0:1:length(yln)-1];ny2=[0:1:length(ycn)-1];subplot(2,1,1);stem(ny1,yln);ylabel('线性卷积');subplot(2,1,2);stem(ny2,ycn);ylabel('圆周卷积');•函数(4)x(n)⑩y(n)clear all;N1=5;N2=4;xn=[1 2 3 4 5];%生成x(n)hn=[1 2 1 2];%生成h(n)yln=conv(xn,hn);%直接用函数conv计算线性卷积ycn=circonv(xn,hn,10);%用函数circonv计算N1点圆周卷积ny1=[0:1:length(yln)-1];ny2=[0:1:length(ycn)-1];subplot(2,1,1);stem(ny1,yln);ylabel('线性卷积');subplot(2,1,2);stem(ny2,ycn);ylabel('圆周卷积');六、思考题:①圆周卷积与线性卷积的关系:若有x1(n)与x2(n)两个分别为N1与N2的有限长序列,则它们的线性卷积y1(n)为N1+N2-1的有限长序列,而它们的N点圆周卷积y2(n)则有以下两种情况:1,当N<N1+N2-1时,y2(n)是由y1(n)的前N点和后(N1+N2-1-N)点圆周移位后的叠加而成;N> N1+N2-1时,y2(n)的前N1+N2-1的点刚好是y1(n)的全部非零序列,而剩下的N-(N1+N2-1)个点上的序列则是补充的零。

相关文档
最新文档