shiyinjita的个人空间 https://blog.eetop.cn/239461 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

卷积

已有 1935 次阅读| 2016-2-24 22:42 |个人分类:matlab

clc       ;
close all ;
clear all ;

fs  = 100* 10^ 6 ;
fc1 = 1 * 10^6 ;
fc2 = 16 * 10^6 ;

t  = 0 : 1/fs  : 256/fs  ;

y  = cos (2 * pi * fc1 * t  ) + cos (2 * pi * fc2 * t  ) ;

cof  = [-0.000695676179413289,-0.00212059279559494,-0.00437800207625060,-0.00670558750976843,-0.00739695931790013,-0.00393949465113584,0.00632167179169658,0.0251365935247956,0.0522801254271389,0.0849413081084903,0.117956285172739,0.144967603065588,0.160193277712091,0.160193277712091,0.144967603065588,0.117956285172739,0.0849413081084903,0.0522801254271389,0.0251365935247956,0.00632167179169658,-0.00393949465113584,-0.00739695931790013,-0.00670558750976843,-0.00437800207625060,-0.00212059279559494,-0.000695676179413289;]
figure(1) ;
subplot(2,1,1) ;
plot(t,y) ;
yy  = conv(y,cof) ;
yy1 = filter(cof,1,y) ;
subplot(2,1,2) ;
plot(yy1) ;
 
m_length = length(cof) ;

reg_data = zeros(length(t)-1 , 1) ;
yy = zeros(m_length,1) ;
for i = 1 : length(t) 
    for m = 1 :  m_length 
        if (m == 1) 
            ys(i) = y(i) * cof(m) ;
        else 
            ys(i) = ys(i) + yy(m-1) *  cof(m) ;
        end
    end 
    for mm = m_length-1 :-1 : 1 %移位
        if (mm == 1)
            yy(mm) =  y(i) ;
        else
            yy(mm) =  yy(mm-1) ;
        end
    end 
    
   % yyy(i+1) = y(i) ;
   
   
   
   
   
end 
figure(2) ;
plot(ys)



点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 2

    好友
  • 1

    获赞
  • 29

    评论
  • 2823

    访问数

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 10:26 , Processed in 0.009038 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部