循环卷积函数(Matlab)

上一篇 / 下一篇  2006-08-24 16:51:52 / 天气: 晴朗 / 心情: 高兴 / 个人分类:Matlab专版

function fn=circonvt(x1,x2,N)
%circonvt函数实现输入序列x1和x2的循环卷积,fn为输出序列
%N 为循环卷积长度
%实现方法:fn=sum(x1(m)*x2((n-m) mod N))
if (length(x1)>N|length(x2)>N)%判断输入信号的长度
error('N的长度必须大于输入数据的长度');
end
x1=[x1,zeros(1,N-length(x1))];
x2=[x2,zeros(1,N-length(x2))];
m=0:N-1;
x=zeros(N,N);
for n=0:N-1
    x(:,n+1)=x2(mod((n-m),N)+1)';
end;
fn=x1*x; %循环计算卷积

 


TAG: Matlab专版

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2009-01-06  
    123
45678910
11121314151617
18192021222324
25262728293031

数据统计

  • 访问量: 5121
  • 日志数: 24
  • 建立时间: 2006-08-18
  • 更新时间: 2006-09-23

RSS订阅

Open Toolbar