首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用Matlab中的FFT实现移频

利用Matlab中的FFT实现移频
EN

Stack Overflow用户
提问于 2012-08-03 19:17:11
回答 1查看 10.7K关注 0票数 5

我正在努力实现BFSK调制和解调与跳频,我需要测试我的结果使用Matlab。I从我的BFSK程序中得到的输出是一个正弦值数组,对应于不同比特的载波信号。这些信号是以2.51 4KHz为中心的通带信号,其周围的带宽为4 4KHz。但为了测试解调步骤,我需要将信号转换为基带。因此,我需要将输出信号居中设置为0 0Hz。

我知道创建一个2.51 this的复数信号并将其在时域中相乘就可以完成这项工作。但是有没有什么方法可以利用matlab中的fft()函数来移动信号的中心频率,然后对信号进行ifft()来产生基带信号呢?

谢谢,安舒

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-03 19:36:11

这应该是完全可能的。在计算ifft之前,只需旋转fft过程中出现的复向量即可。

伪码为:

代码语言:javascript
复制
shiftIndex  = 20; %// This value would depend on the frequency shift requited

Y = fft(x); %// Where x is the input vector
z = ifft (  [Y((shiftIndex+1):end);      Y(1:shiftIndex)]  );

有关需要将索引移位的存储箱数量的帮助,您可能会发现以下问题很有用。。。

https://dsp.stackexchange.com/questions/2970/how-to-make-frequency-axis-for-even-and-odd-fft-length/2971#2971

这提醒了我,将来你在DSP.stackexchange.com上发布这样的问题可能会得到更快的答案。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11794654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档