声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 964|回复: 0

[其他] z反变换后,如何将复杂信号由sym型转成double

[复制链接]
发表于 2014-3-11 15:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
小弟目前在做信号卷积混合这一块,要syms t后,给出几个信号,z变换,与FIR滤波器进行卷积混合,之后z反变换,得到观测信号为sym型,subs后,变为1*100的double型,然后进行后期处理,但我的问题是,之前用几个简单的sin函数信号是可以的,但信号改为变幅或变频形式的后,z反变换,信号为……(1910980478081055*iztrans(ztrans(sin(sin((pi*t)/50)/2 + 100*pi*t)……,后面的subs不能将其变为double了,还请高人指点一下。
程序:
function A= lvbojuanji42(A1,A2,A3,A4,A5,A6,A7,A8)
    syms z
    mz = [1; z^(-1); z^(-2); z^(-3); z^(-4)];
    a = [A1;A2;A3;A4;
        A5;A6;A7;A8];
     A= [a(1,:)*mz,a(2,:)*mz;
         a(3,:)*mz,a(4,:)*mz;
         a(5,:)*mz,a(6,:)*mz;
         a(7,:)*mz,a(8,:)*mz];
end
clear all
clc
syms t z n;
s1=sin(100*pi*t+0.5*sin(0.02*pi*t));
s2=sin(2*pi*9*t/10000);
S1=ztrans(s1);S2=ztrans(s2);
S=[S1;S2];
A11=randn(1,5);A12=randn(1,5);
A21=randn(1,5);A22=randn(1,5);
A31=randn(1,5);A32=randn(1,5);
A41=randn(1,5);A42=randn(1,5);
A=lvbojuanji42(A11,A12,A21,A22,A31,A32,A41,A42);
X=A*S;
x1=X(1,:);x2=X(2,:);
x3=X(3,:);x4=X(4,:);
y1=iztrans(x1);y2=iztrans(x2);
y3=iztrans(x3);y4=iztrans(x4);
m=0:0.01:0.99;
m1=subs(y1,n,m);m2=subs(y2,n,m);
m3=subs(y3,n,m);m4=subs(y4,n,m);
我后期要加awgn,所以m1 m2 m3 m4要求是double的,望指教
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-6 18:28 , Processed in 0.048440 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表