用matlab实现两个离散序列的卷积(不使用conv函数)

  • 格式:docx
  • 大小:68.60 KB
  • 文档页数:2

下载文档原格式

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

作业2.用matlab实现离散序列的卷积.

N=14;

n=[1:N-1];

f=1/16;

signal1=5*sin(2*pi*n/8);

figure(1); subplot(3,1,1) stem(n,signal1);title( ' 信号1' );xlabel( 'n' );ylabel( axis([0 15 -6 6])

long_M=5;

signal2=ones(1,long_M); subplot(3,1,2)

stem(signal2);title( ' 信号2' );xlabel( 'n' );ylabel( axis([0 6 -2 2]);

grid on;

long_N=length(signal1); fk=zeros(0,long_N+long_M+10);

if (long_N>long_M)

for k=1:1:long_N+long_M-1

a=0;

if (k<=long_N)

for i=1:1:k

if (i>long_M)

fk(k)=a;

else fk(k)=a+signal2(i)*signal1(k-i+1); a=fk(k);

end

end

else

for i=1:1:k

if (k-long_N+i>long_M)

fk(k)=a;

else fk(k)=a+signal2(k-long_N+i)*signal1(long_N-i+1); a=fk(k);

end

end

end

end

end subplot(3,1,3) stem(fk);title( ' 卷积函数的实现' );xlabel( 'n' );ylabel(

'y(n)' );

'y(n)' );

幅度' );

axis([0 18 -20 20]); grid on;

相关主题