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

合集下载

圆周卷积的积分算法

圆周卷积的积分算法
由于yi(n)的长度为N,而xi(n)的长度为N2,因此相邻两yi(n)序列必然有N-N2=N1-1点发生重叠,这个重叠部分应该相加起来才能构成最后的输出序列。
计算步骤:
a.事先准备好滤波器参数H(k)=DFT[h(n)],N点
b.用N点FFT计算Xi(k)=DFT[xi(n)]
c.Yi(k)=Xi(k)H(k)
程序:
function y = overlap_add(x1,x2,N)
%重叠相加法实现
%将高点数DFT转化为低点数DFT
M = length(x2);%获得x2(n)的长度
if N<M
N = M+1;
end
L = M+N-1;
Lx = length(x1);
T = ceil(Lx/N);%确定分段数
其次,我要感谢帮助过我的同学,同时也感谢学院为我提供良好的做课程设计的环境。
最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学!
参考文献
[1]刘泉,阙大顺,郭志强.数字信号处理.北京:电子工业出版社,2009
[2]唐昌建.Matlab编程基础与应用.四川:四川大学网络教育学院,2003
[3]陈怀琛.数字信号处理教程-Matlab释疑与实现.北京:电子工业出版社,2004
2.2圆周卷积计算过程
具体步骤如下:
(1)在二元坐标上做出 与 ;
(2)把 沿着纵坐标翻转,得到 ;
(3)对 做圆周移位,得到 ;
(4) 与 对应相同的m的值进行相乘,并把结果相加,得到对应于自变量n的一个 ;
(5)换另一个n,重复以上两步,直到n取遍0到N-1所有的值,得到完整的 。
3重叠相加法原理
这次课程设计主要用到了matlab软件,这款软件在对数字信号处理的建模、编程、分析、实现等方面功能非常强大,由于之前在实验课中我们曾经接触过matlab,因此这次做起来相对轻松一些。我选做的题目是基于重叠相加法的圆周卷积,在开始进行程序设计之前,我先对理论知识进行了回顾,在熟悉了圆周卷积以及重叠相加法的原理以及matlab的应用环境后,我开始了软件的设计,虽说之前对matlab有所了解,但对软件里面的程序包并不了解,所以编程的过程中也遇到过很多问题,比如找不到需要用的函数,但通过查看软件自带的帮助信息我很快能够找到自己想要的东西,在熟悉了原理后,程序设计并不复杂,但程序的调试却花了很长时间,其中也遇到了一些莫名其妙的问题,调试成功后第二次再打开就不行了,经过了长时间的调试,并且在老师和Leabharlann 学的帮助下,我换了个软件终于解决了。

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

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

数字信号处理简答题完整版

数字信号处理简答题完整版

数字信号处理简答题 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】1.一般模拟信号的D F T过程连续时间信号的傅里叶变换所得信号的频谱函数是模拟角频率Ω的连续函数;而对连续时间信号进行时域采样所得序列的频谱是数字角频率ω的连续函数。

而将采样序列截断为有限长序列后做离散傅里叶变换是对被截断后序列频谱函数的等间隔采样。

由于DFT是一种时域和频域都离散化了的变换,因此适合做数值运算,成为分析信号与系统的有力工具。

但是,用DFT对连续时间信号做频谱分析的过程中,做了两步工作,第一是采样;第二是截断。

因此,最后所得到的离散频谱函数和原连续信号的连续频谱肯定存在误差。

下面我们就来分析这些误差究竟产生在哪些地方。

首先由傅里叶变换的理论可知,对于模拟信号来说,若信号持续时间有限长,则其频谱无限宽;若信号的频谱有限宽,则其持续时间无限长。

所以严格来讲,持续时间有限的带限信号是不存在的。

实际中,对频谱很宽的信号,为防止时域采样后产生频谱混叠,先用采样预滤波的方法滤除高频分量。

那么必然会导致滤波后的信号持续时间无限长。

设前置滤波器的输出信号为xa (t),其频谱函数Xa(jΩ),它们都是连续函数,其中xa (t)为无限长,而Xa(jΩ)为有限长。

首先对该信号作时域采样,采样周期为T,将得到离散的无限长的序列x(nT)。

由于习惯上描述序列的频谱时用ω作为频率变量,因此必须探寻x(n)的频谱X(e jω)与xa (t)的频谱Xa(jΩ)之间的关?系。

理论上已推得,X(e jω)就是Xa(jΩ)以2π/T的周期延拓后再将频率轴Ω作T倍的伸缩后得到的图形再乘以一个常数1/T得到。

也就是X(e jω)= X(e jΩT)=1/T*∑Xa[j(Ω-k*2π/T)]这一个过程中,只要采样频率足够大,即T足够小,理论上是可以保证无混叠的,也就是能由序列的频谱X(e jω)完全恢复模拟信?号的频谱Xa(jΩ)。

实验四 有限长序列的线性卷积、圆周卷积及分段卷积(数字信号处理)

实验四 有限长序列的线性卷积、圆周卷积及分段卷积(数字信号处理)

电子信息与自动化学院《数字信号处理》实验报告学号: 姓名:实验名称: 实验四 有限长序列的线性卷积、圆周卷积及分段卷积一、 实验目的(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 范围内所取的主值序列。

离散傅立叶变换(DFT)的性质

离散傅立叶变换(DFT)的性质

~ (n)R (n) = 1[x((n)) + x*(( N − n)) ]R (n) xep (n) = xe N N N N 2 ~ (n)R (n) = 1[x((n)) − x*(( N − n)) ]R (n) xop(n) = xo N N N N 2
~ ~ ~ 由于 x(n) = x(n)R (n) = [ x (n) + x (n)]R (n) N e o N ~ ~ = xe (n)RN (n) + xo (n)RN (n)
*
为纯虚序列时, 当x(n)为纯虚序列时,根据特性之四,则 为纯虚序列时 根据特性之四, X(k)=Xop(k)
* 又据X 的对称性: 又据 op(k)的对称性: op(k) = −Xop(( N − k))N RN (k) 的对称性 X
∴X(k) = −X*(( N − k))N RN (k)
总结: 总结:共轭对称性
X(0) = 1+ 2W40 + 3W40 + 4W40 = 1+ 2 + 3 + 4 = 10
X(1) = 1+ 2 41 + 3 42 + 4 43 W W W = 1+ 2 41 − 3 − 4 41 = −2− 2 41 = −2 + 2 j W W W
(1)、 (k) = Xep (k) + Xop(k) X
(2)、 ep (k) = X (−k) = X ((−k))N RN (k) X = X (( N − k))N RN (k)
* ep * ep * ep
* * (3)、 op(k) = −Xop(−k) = −Xop((−k))N RN (k) X * = −Xop(( N − k))N RN (k)

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

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

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

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

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

线性卷积:
输入:
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的圆周卷积输出。

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

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

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

圆周卷积

圆周卷积
The Discrete Fourier Transform ( DFT )
五. 圆周卷积定理 ( Circular convolution )
1. 圆周卷积和的定义:
两个长度为 N 的序列 的如下计算称为圆周卷积和,用 符号 N 表示: (N表示圆周卷积的点数)
x1(n)
N
x2
(n)
N 1 m0
将 Y (k) 周期延拓: Y~(k) X~1(k)X~2(k)
则有: ~y (n) IDFS Y~(k)
N 1
~x1 (m)
~x2
(n
m)
m0
N 1
x1((m))N x2 n mN m0
在主值区间 0 m N 1, x1((m)) N x1(m) ,所以:
y(n) ~y(n)RN (n)
其中
k e j
k
z
z e j
1 zN
N (1WNk z 1) ze j
1 N
1 e jN
j k 2
1 e N
k e j
1 N
1 e jN e j 2k
j k 2
1 e N
1 1 e j (N 2k ) j k 2
N 1e N
j N 2k
N
1
W (mn N
)
k
k 0
x(n rN ) r
利用性质
N 1 j 2 pk N ,p rN
eN
k 0
0
,其他
p
由 ~xN (n) x(n rN ) 可知: r ~xN (n) 是 x(n) 以 N 为周期的周期延拓; 也就是说: 频域抽样造成时域周期延拓。
3. 频域抽样定理:
x1

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

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

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

1.实验目的
1) 通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。

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

2.基本原理
线性卷积;圆周卷积;两个有限长序列的线性卷积;圆周卷积与线性卷积的关系。

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

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

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

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

4.相应程序及图像
1 )编制一个计算两个序列线性卷积的通用程序,计算x(n)*h(n).
clear all;
xn=[1 2 3 4 5];
hn=[1 2 1 2];
yln=conv(xn,hn);
ny=[0:1:length(yln)-1];
stem(ny,yln);
xlabel('时间序号n');
ylabel('信号幅度');
title('线性卷积');
线性卷积
1
1
T

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

主程序:
clear all
clc
N=[5 6 9 10];%圆周卷积的长度向量
xn=[1 2 3 4 5];
hn=[1 2 1 2];
y1n=conv(xn,hn)%计算线性卷积
ny仁0:length(y1 n)-1;%分别计算x (n)和h ( n)的5点,6点,9点和10点圆周卷积
yc1=circ onv(xn,hn,N ⑴)
yc2=circo nv(x n,h n,N(2))
yc3=circo nv(x n,h n,N(3))
yc4=circonv(xn,hn,N(4))%分别作出线性卷积和取不同点数的圆周卷积的图像比较
subplot(1,2,1)
stem (n y1,y1 n);
xlabel('时间序号n');
ylabel('信号幅度');
title('线性卷积');
subplot(1,2,2)
stem(0:N(1)-1,yc1);
xlabel('时间序号n');
ylabel('信号幅度');
title('5点圆周卷积');
figure subplot(1,2,1) stem(ny1,y1n); xlabel(' 时间序号n'); ylabel(' 信号幅度');
title(' 线性卷积'); subplot(1,2,2) stem(0:N(2)-1,yc2); xlabel(' 时间序号n'); ylabel(' 信号幅度'); title('6 点圆周卷积'); figure subplot(1,2,1) stem(ny1,y1n); xlabel(' 时间序号n'); ylabel(' 信号幅度'); title(' 线性卷积'); subplot(1,2,2) stem(0:N(3)-1,yc3); xlabel(' 时间序号n'); ylabel(' 信号幅度'); title('9 点圆周卷积'); figure subplot(1,2,1) stem(ny1,y1n); xlabel(' 时间序号n'); ylabel(' 信号幅度'); title(' 线性卷积'); subplot(1,2,2) stem(0:N(4)-1,yc4); xlabel(' 时间序号n'); ylabel(' 信号幅度'); title('10 点圆周卷积');
2. 圆周卷积的函数function yc=circonv(x1,x2,N) if length(x1)>N
error('N 必须大于等于x1 的长度'); end if length(x2)>N
error('N 必须大于等于x2 的长度'); end x1=[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:N
H( n,:)=cirshiftd(x2, n-1,N); end yc=x1*H :
3.实现圆周移位的函数
function y=cirshiftd(x,m,N) if len gth(x)>N
error('x 的长度必须小于 N'); end x=[x,zeros(1,N-le ngth(x))]; n=[0:1:N-1];
y=x(mod( n-m,N)+1);
线性卷积
2 4 时间序号n 8
4 J I T" ^12 0 8 6 4 2
20
4
1
12 3 4
时间序号n
线性卷积 2
4
6
时间序号n
O 8 € 4 2 O 8 6 4 2C
O
2
d i 1— 1— 1
6点圆周卷积
线性卷积 c 0864208642
2 d i 1 1— 1
9,点圆周卷

10点回周卷积
5 10
时间序号n
5•思考题
1) 线性卷积的运算步骤一般可分为哪几个部分?圆周卷积的运算步骤一般可分为哪几
个部 分?比较两者之间的异同。

线性卷积:翻转,移位,相乘,相加; 圆周卷积:翻转,移位,相乘,相加,取主值;
2) 采用圆周卷积运算代替线性卷积运算的原因?
运算量小。

20
20
銭性卷积。

相关文档
最新文档