在matlab中,如何滤掉信号中的交流成分?

[复制链接]
查看11 | 回复1 | 2010-5-20 08:33:52 | 显示全部楼层 |阅读模式
比如,一个离散信号序列为:
s(nt) = I(nt) + I(nt)*cos(4pi*f*nt) - Q(nt)*sin(4pi*f*nt)
我已知s(nt)的值,想得到I(nt)的值,所以我想滤掉后面两项频率为2f的交流成分。f为载波频率。
请问用matlab的那个函数可以实现?
这个可能是通信的基本问题。就是如何从中频信号得到基频信号。
谢谢yycyycyy的回答。不过我对I(nt)是否为恒定值,不是很确定,所以不知道直接求平均,是否正确。
其实我想解决的问题是:在数字通信中,如何恢复用中频调制了的基频信号。比如复数基频信号 I+jQ (I和Q为离散信号),用中频f调制后的到实部部分:Re[(I+jQ)*exp(j2pi*f*t)] = I*cos(2pi*f*t)-Q*sin(2pi*f*t)。我在接收方得到这个信号,如何恢复出I和Q的值?我的想法是,这个信号再乘以exp(-j2pi*f*t),得到的信号实部部分的直流分量只含有I的信息,虚部部分的直流分量只含有Q的信息,于是我加一个低通滤波器,就可以得到I和Q的值。请问如何用matlab中的函数实现。我已知的是上面中频调制后的实部信号,还有f。

回复

使用道具 举报

千问 | 2010-5-20 08:33:52 | 显示全部楼层
从我的课本知识,,直接用个低通滤波就行了。。但你要得到具体的I(nt),滤波是达不到要求。。如果你知道s(nt)的形式,并且要得到完全的直流,,为什么不直接求平均呢,,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行