线性卷积与圆周卷积
线性卷积与圆周卷积的计算
数字信号处理实验报告
实验名称:线性卷积与圆周卷积的计算(实验四)
专业班 级: 学生姓名: 学 号: 指导教师:
二○一 年 月 日
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Ω)。
线性卷积和圆周卷积的关系-email-0
1、离散傅里叶级数变换推导(参考书P102)dsp31:ppt251、DFS 反变换的推导:连续周期信号的傅立叶级数为∑∑∑∞-∞=∞-∞=∞-∞=ΩΩ=Ω====Ω===ΩΩ=k nkN jk nT NT jk p p p k tjk e k X e k X nT x n x NT T NT T nT t T ek X t x πππππ2020000)(~)(~)(~)(~/2/2,,,/2)()(~0则令其中频域的周期和采样间隔:0)//(2/22Ω====ΩN N T T f p s s πππ)(~nT x 时域周期、离散序列,周期为N ,采样间隔T ;)(~0Ωk X 频域周期、离散序列,周期为N ,采样间隔0Ω;反变换推导初步结果:+∞-∞==∑∞-∞=~,)(~)(~2n e k X n x k nk N j π进一步化简。
由于knN j n rN k N j e e ππ2)(2=+离散傅立叶级数只能取k=0~N-1的N 个独立谐波分量。
因此有+∞-∞==∑-=~,)(~)(~102n e k X n x N k nk N j π2、DFS 正变换的推导:下式实际上是等比级数公式⎩⎨⎧==--=∑-=r m m N r N e e e r N j rNN j N n rn N j 其他,为任意整数0,,1122102πππ有)(~)(~)(~])(~[)(~1010)(21010)(2101022102r X N e k X e k X e e k X e n x N k N n n r k N j N n N k n r k N j N n N k rn N j kn N j N n rn N j ====∑∑∑∑∑∑∑-=-=--=-=--=-=--=-πππππ因此∑-=-=102)(~1)(~N n knN j e n x N k X π3、正、反变换最终形式推导:为与其他变换的书写形式统一,常写成∑-=-=102)(~)(~N n knN j e n x k X π,+∞-∞=~k∑-==102)(~1)(~N k nkN j e k X N n x π,+∞-∞=~n以上就是离散傅立叶级数(DFS )变换对。
数字信号处理实验线性卷积圆周卷积
数字信号处理实验线性卷积圆周卷积⼤连理⼯⼤学实验报告学院(系):电信专业:⽣物医学⼯程班级:**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 计算线性卷积一、实验目的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个样本。
离散傅立叶变换(DFT)的性质
例:求序列:x(n) = (n)+2 (n-1)+ 3(n-2)+4 (n-3) 的4点DFT。 N 1
X ( k ) DFT[ x( n)] x( n)W4nk
n 0 3
nk x ( n ) W N n 0
(0 k N 1)
( 0 k 3)
1 2W4k 3W42 k 4W43k
* 又据Xep(k)的对称性: X ep (k ) X ep (( N k )) N RN (k )
X (k ) X (( N k )) N RN (k )
*
当x(n)为纯虚序列时,根据特性之四,则
X(k)=Xop(k)
* 又据Xop(k)的对称性: X op (k ) X op (( N k )) N RN (k )
选择N max 补零达到N点。
N1 , N 2 为变换长度,短者进行
二、序列的圆周移位 1.定义 一个有限长序列x(n)的圆周移位定义为
xm ( n) xn m N RN n
这里包括三层意思: (1) 先将x(n)进行周期延拓
(2)再进行移位
~ x (n m) xn m N
n ( N 1 )
nk * x ( n ) W N ]
nk * [ x ( n)W N ] X * (( k )) N RN ( k )
x * (( n)) N RN ( n) X * ( k )
5.共轭对称特性之三
Re[ X (k )] j Im[ X (k )]
例:设x1(n)和x2(n)都是N点的实数序列,试用一次 N点DFT运算来计算它们各自的DFT:
DFT [ x1 (n)] X 1 (k )
线性卷积与圆周卷积演示程序的设计
1.设计基本原理1.1课题研究的背景卷积运算广泛的应用于通讯、电子、自动化等领域的线性系统的仿真、分析及数字信号处理等方面。
在MATLAB中可以使用线性卷积和圆周卷积实现离散卷积。
线性卷积是工程应用的基础,但圆周卷积实现线性离散卷积具有速度快等优势。
圆周卷积采用循环移位,在MATLAB中没有专用函数,需要根据圆周卷积的运算过程编制程序代码。
本实验主要围绕线性卷积和圆周卷积的演示程序设计来展开,给出了线性卷积和圆周卷积演示的程序及动态实现。
在线性时不变连续系统中,利用系统的冲激响应和叠加原理来求系统对任意激励信号作用时的零状态响应,这就是卷积方法的原理。
因此,在时域内,卷积运算是求解线性非时变系统零状态响应的重要方法,特别是激励信号为时限信号时尤其如此。
卷积运算的计算比较复杂,是信号与系统分析中的重点和难点,特别适合用于计算机来计算。
以往的卷积积分多用fortran、c、VB等语言编程,不仅编程繁琐,而且可视性差。
用MATLAB来计算卷积积分问题要比用C、FORTRAN 等语言完成相同的事情简洁的多。
在MATLAB中,有很多现成的函数可以直接调用,而且在计算机方面,可以直接用相应的计算机符号即可。
在编写程序语言方面,它与其他语言相比更为简单。
正因为上述原因,使他深受工程技术人员及科学专家的欢迎,并很快成为应用学科计算机辅助分析、设计、仿真、教学等领域不仅可缺少的基础软件。
1.2课题研究意义本课程为电子信息工程专业的独立实践课,是建立在信号与系统、数字信号处理等课程的基础上,加强实践环节而开设的。
其目的在于通过本课程设计使学生进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使学生能有效地将理论和实际紧密结合;增强学生软件编程实现能力和解决实际问题的能力。
通过课程设计,主要达到以下的目的:(1)使学生增进对MATLAB的认识,加深对信号处理理论的理解。
(2)使学生掌握数字信号处理中频谱分析的概念和方法。
[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 函数的结果相同,也与笔算结果相同。
关于线性卷积及圆周卷积的简便竖式法计算
关于线性卷积及圆周卷积的简便竖式法计算
线性卷积和圆周卷积是数字信号处理中常见的两种卷积操作。
简单来说,线性卷积可以把两个信号之间的关系映射到输出上,而圆周卷积是一种更为复杂的运算,它可以寻找两个旋转的信号之间的关系。
下面就描述一下这两种卷积的简便竖式法计算。
线性卷积:
输入:
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
数字信号处理复习题
数字信号处理期末考试复习题简答题1.抽样定理:若xa(t)频带宽度有限,要想抽样后能不失真的还原出原信号,则抽样频率必须大于等于两倍信号谱的最高频率即fs≥2fn否则抽样后会发生频谱混叠。
2.无限长单位冲激响应滤波器IIR的特点:系统的单位冲击响应h(n)是无限长的;系统函数H(z)在有限z平面(0<|z|<∝)上有极点存在;结构上存在着输出到输入的反馈,也就是结构上是递归的。
3.圆周卷积和线性卷积之间的关系:设x1(n)、x2(n)分别为N1、N2点有限长序列,周期卷积是线性卷积以L为周期的周期延拓序列,圆周序列、圆周卷积是周期卷积的主值区间,当L≥N1+N2-1时,圆周卷积能代表线性卷积。
4.全通系统零极点分布特点:关于单位圆呈镜像共轭对称分布,其中极点在单位圆内,零点在单位圆外。
5.窗函数选择条件,设计步骤:条件:窗谱主瓣尽可能地窄,以获得较陡的过渡带;尽可能的减小窗谱最大旁瓣的相对幅度,也就是能量尽量集中于主瓣,这样使肩峰和波纹减小,就可增大阻带的衰减。
步骤:给定所要求的理想的频率响应函数Hd(e jω);利用Hd(e jω)的傅里叶反变换导出hd(n),hd(n)=1/2∏∫-ππHd(e jω) e jωn dw;有过渡带宽及阻带最小衰减的要求来选择窗函数w(n)的形状及N的大小;求所设计的FIR滤波器的单位抽样响应h(n)=hd(n).w(n) n=0,1,…N-1;求H(ejw)=∑n=0,N-1h(n) e-jωn检验是否满足设计要求。
6.线性相位滤波器的特点:h(n)是实函数h(n)=±h(N-n-1);h(n)关于对称中心N-1/2奇偶对称。
7.因果系统零极点的分布特点:极点在单位圆内。
最小相位延时系统,零点在圆内;最大相位超前系统,零点在圆外。
非因果系统:极点在单位圆外。
最小相位超前系统,零点在圆外;最大相位超前系统,零点在圆内。
8.冲击响应不变法的优点:使得数字滤波器的冲击响应完全模仿模拟滤波器的冲激响应,也就是时域逼近良好,而且模拟频率Ω和数字频率w之间呈线性关系w=ΩT;缺点:有频率响应混叠效应,冲击响应不变法只适用于限带的模拟滤波器,高通和带阻滤波器不宜采用9.阶跃响应不变法优点:频率响应的混叠现象随着Ω的增加比冲击响应不变法的小;缺点:仍存在混叠失真10.双线性变换法优点:避免了频率响应混叠现象;缺点:Ω增加时变换关系是非线性的,频率Ω和w之间存在严重非线性关系11.冲击响应不变法和阶跃响应不变法适合低通,带通滤波器;双线性变换适合低通、高通、带通、带阻。
线性卷积和圆周卷积
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)值。
线性卷积与圆周卷积实验报告
大连理工大学实验报告学院(系):电子信息与电气工程学部专业:电子信息工程(英语强化) 班级:电英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)——信号处理中的⼏个关键概念数字信号 信号是信息的物理载体,信息是信号的具体内容。
连续时间信号:在连续时间范围内定义的信号,信号的幅度可以是连续的(模拟信号),也可以是离散的离散时间信号:时间为离散变量的信号,即独⽴变量时间被量化了,⽽幅度仍是连续变化的数字信号:时间离散⽽幅度量化的信号从模拟信号到数字信号我们经常处理语⾳的时候会发现两个常⽤的格式:“pcm”和“wav”,这两种格式其实本质上是⼀样的,pam是脉冲编码调制(p ulse c odem odulation)的⼀个缩写,pcm的实质就是这三个步骤:采样量化编码。
数字信号基本运算移位:设某⼀序列x(n),当m>0 时,x(n-m) 表⽰序列x(n) 逐项依次延时(右移)m 位。
(左加右减)翻褶:设某⼀序列x(n),则x(-n) 是以n=0 的纵轴为对称轴将x(n) 加以翻褶。
和:z(n)=x(n)+y(n)积:z(n)=x(n)·y(n)累加:y(n)=\sum_{k=-\infty}^{n}x(k)差分 (⼀阶):y(n)=x(n)-x(n-1)尺度变换:对于序列x(n), 形如x(mn)或者x(\frac{n}{m})(m为正整数)的序列为x(n)的尺度变换序列。
以x(2n)为例,是以低⼀倍的抽样频率从x(n)中每隔两点取⼀点,这种运算称为抽取,常⽤于语⾳信号的下采样,通常在抽取之前要加⼊⼀个防混叠的滤波器。
类似的,x(\frac{n}{2})称为插值,在语⾳信号每两个点之间插⼊⼀个值,因为我们不知道这个插⼊的值是多少,⼀般插0,本⾝信息并没有增加,通常在插值之后我们还需要⼀个平滑,也就是在插⼊这些零点之后,后接⼀个平滑滤波器,利⽤相邻采样点之间的取值,把插⼊的值算出来,常⽤于语⾳升采样。
线性卷积 (linear convolution) : y(n)=\sum_{m=-\infty}^{\infty} x(m) h(n-m)=x(n) * h(n)由卷积的定义可知,卷积在图形表⽰上可分为四步:翻褶、移位、相乘、相加。
20点圆周卷积,并与线性卷积结果比较。
1、计算下列信号的圆周卷积,分别求出15点,20点圆周卷积,并与线性卷积结果比较。
)()(),5(7.0)(),(*)()()()(),(7.0)(),(*)()(1021552222101151111n R n h n R n x n h n x n y n R n h n R n x n h n x n y n n =-=====-分析线性卷积和圆周卷积之间的关系。
2.利用MALAB 分别求120()0.9()n x n R n =,225()0.9()n x n R n =与10()()h n R n =卷积和,并对两个线性卷积的结果进行比较,并给出其中一个用笔算时卷积和conv 计算线性卷积对照图;。
3. 已知系统的差分方程和输入信号分别为用递推法计算系统的零状态响应和零输入相应。
4. 有四个分系统T 1、 T 2、 T 3和T 4, 四个分系统分别用下面的单位脉冲响应或者差分方程描述:编写程序计算整个系统的单位脉冲响应h (n ), 0≤n ≤99。
5.假设系统函数如下式:(1) 画出极、 零点分布图, 并判断系统是否稳定;(2) 用输入单位阶跃序列u (n )检查系统是否稳定。
6. 下面四个二阶网络的系统函数具有一样的极点分布:)2(2)()1(21)(-+=-+n x n x n y n y {} 1 ,2 ,4 ,3 ,2 ,1 )(=n x ⎪⎩⎪⎨⎧==其它05,4,3,2,1,021)(:11n n h T n⎩⎨⎧==其它05,4,3,2,1,01)(:22n n h T )2(41)1(21)(41)(:33-+-+=n x n x n x n y T )1()()2(81.0)1(9.0)(:4-++---=n v n v n y n y n y T 5147.13418.217.098.22505)(2342-++--+=z z z z z z z H试用MA TLAB 语言研究零点分布对于单位脉冲响应的影响。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号、系统与信号处理实验Ⅱ
实验报告
实验名称:线性卷积与圆周卷积的计算
一、 实验目的
(1) 通过编程、上机调试程序,进一步掌握使用计算机解决问题的能力
(2) 掌握线性卷积和圆周卷积软件实现的方法,并验证二者之间的关系
二、 实验内容与要求
1. 线性卷积
当系统输入序列为x(n),系统的单位冲击响应为h(n),输出序列为y (n ),则线性时不变系统输入、输出间的关系为:
Y (n )=h (n )*x (n )
2. 圆周卷积
设两个有限长序列1()x n 和2()x n ,均为N 点,其N 点的DFT 分别为1()X k 和2()X k ,如果312()()()X k X k X k =⋅,则
1
3120()[()()]()N N m x n x
m x n m R n -==-∑ 1
120()(())N N m x m x n m -==-∑
1()x n =○
N 2()x n 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) 实验前,预先笔算好这两个序列的线性卷积及下列几种情况的圆周卷积 ①()x n ⑤()h n ②()x n ⑥()h n ③()x n ⑨()h n ④()x n ⑩()h n
(2)编制一个计算两个序列线性卷积的通用程序,计算()()x n h n *。
(3)编制一个计算圆周卷积的通用程序,计算上述4种情况下的两个序列的圆周卷积。
(4)上机调试并记录实验结果
(5)将实验结果和预先笔算的结果比较,验证其正确性。
三、实验程序与结果
函数circonv
function yc=circonv(x1,x2,N)
if length(x1)>N
error;
end
if length(x2)>N
error;
end
x1=[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:N
H(n,:)=cirshifted(x2,n-1,N);
end
yc=x1*H';
函数cirshiftd
function y=cirshiftd(x,m,N)
if length(x)>N
error('x的长度必须小于N');
end
x=[x,zeros(1,N-length(x))];
n=[0:1:N-1];
y=x(mod(n-m,N)+1);
①x(n)⑤y(n)
clear all
xn=[1 2 3 4 5];
hn=[1 2 1 2];
N1=length(xn);
N2=length(hn);
y1n=conv(xn, hn);
ycn=circonv(xn, hn, 5);
ny1=[0:1:length(y1n)-1];
ny2=[0:1:length(ycn)-1];
subplot(2,1,1);
stem(ny1, y1n);
subplot(2,1,2);
stem(ny2, ycn);
clear all;
N1=5;
N2=4;
xn=[1 2 3 4 5];
hn=[1 2 1 2];
yln=conv(xn,hn);
ycn=circonv(xn,hn,6); 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)⑨y(n)
clear all;
N1=5;
N2=4;
xn=[1 2 3 4 5];
hn=[1 2 1 2];
yln=conv(xn,hn);
ycn=circonv(xn,hn,9); 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)⑩y(n)
clear all;
N1=5;
N2=4;
xn=[1 2 3 4 5];
hn=[1 2 1 2];
yln=conv(xn,hn);
ycn=circonv(xn,hn,10); ny1=[0:1:length(yln)-1]; ny2=[0:1:length(ycn)-1]; subplot(2,1,1);
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)个点上的序列则是补充的零。
②线性卷积运算步骤:
求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)
③圆周卷积运算步骤:
圆周卷积过程中,求和变量为m,n为参变量,先将x2(m)周期化,形成x2((m))N,再反转形成x2((-m))N,取主值序列则得到x2((-m))NRN(m),通常称之为x2(m)的圆周反转。
对x2(m)圆周反转序列圆周右移n,形成x2((n-m))NRN(m),当n=0,1,2,…,N-1时,分别将x1(m)与x2((n-m))NRN(m)相乘,并在m=0到N-1区间内求和,便得到圆周卷积y(n)。
通过本次实验,我掌握了线性卷积与圆周卷积软件实现的方法,并验证了两者之间的关系,同时,通过上机调试程序,进一步增强了我使用计算机解决问题的能力。
虽然对于一些细节还是没能做到通透,但是,在理论课上,不解的几个问题,都有了真切的认识。