首  页  |  神经网络  |  人工智能  |  遗传算法  |  模式识别  |  开发设计  |  数据库  |  zigbee  |  数学算法  |  其  他
当前位置:智能优化 >> 人工智能 >> 浏览文章

数字信号处理序列运算——信号相乘

来源:互联网 作者:佚名 日期:2010年01月06日 访问次数:
      信号相乘:这是对应采样值之间的相乘(即“点”乘),表示为: {x1(n)}.{x2(n)}= {x1(n)x2(n)}

      在MATLAB中,它有数组运算符“*”实现。但它受到“+”运算符同样的限制。因此必须建立一个新的与sigadd相仿得sigmult函数: 

      Function[y,n]=sigmult(x1,n1,x2,n2)
      %实现y(n)=x1(n)*x2(n) 
      %[y,n]=sigmult(x1,n1,x2,n2
      %y=在包括n1和n2的n上求和序列 
      %x1=长为n1的第一个序列 
      %x2=长为n2的第二个序列(n2可与n1不等) 
      n=min(min(n1),min(n2)):max(max(n1),max(n2));%y(n)的长度 
      y1=zeros(1,length(n));y2=y1;%初始化 
      y1(find((n>=min(n1)) &(n<=max(n1))==1))=x1;%具有y(n)的长度的x1  
      y2(find((n>=min(n2)) &(n<=max(n2))==1))=x2;%具有y(n)的长度的x2 
      y=y1.*y2;%序列相乘
发表评论