Matlab中利用FFT实现信号频谱搬移

这篇具有很好参考价值的文章主要介绍了Matlab中利用FFT实现信号频谱搬移。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Matlab中利用FFT实现信号频谱搬移

在fft的理论中,fft的频移特性表示为:

频谱搬移,fft,mathlab,频谱分析,matlab,傅里叶分析,调制解调,频谱搬移,矩阵
也就是说,要想对信号f(t)实现频域的频谱搬移,只要在时域乘以一个矩阵,即可实现频谱的搬移。常用的振幅调制和解调就是如此,频谱搬移前后对比如下:

频谱搬移,fft,mathlab,频谱分析,matlab,傅里叶分析,调制解调,频谱搬移,矩阵其特点就是仅频谱搬移,不产生新的频谱分量。利用欧拉公式:

			e^(ix)=(cos x+isin x)

e^(ix)可以分解为实部和虚部,下面针对不同的搬移函数矩阵,对原始函数和频谱的影响分别介绍。

只有实部的频谱搬移

我们先构建一个原始函数:

A=220;   %频率F1信号的幅度
F1=50;  %信号1频率(Hz)
P1=-30; %信号1相位(度)
N=6400;  %采样点数
t=[0:1/Fs:N/Fs]; %采样时刻  0到N个点

y_sin = A * (sin(2piF1t+piP1/180)); %// 50hz的正弦波信号

再构建频谱搬移矩阵函数,为频率1k的余弦波:

F2=1000
y2= cos(2*pi*F2*t) 

则频谱搬移后函数的时域形式为:

S = y_sin .* y2;

分别对原始信号y_sin和S信号进行FFT变换,原始信号频谱图为:

频谱搬移,fft,mathlab,频谱分析,matlab,傅里叶分析,调制解调,频谱搬移,矩阵S信号在时域波形图为:
频谱搬移,fft,mathlab,频谱分析,matlab,傅里叶分析,调制解调,频谱搬移,矩阵
频谱搬移后频谱图为:
频谱搬移,fft,mathlab,频谱分析,matlab,傅里叶分析,调制解调,频谱搬移,矩阵可以看出,已经实现了完整的频谱搬移。

只有虚部的频谱搬移

同样,构建频谱搬移矩阵函数只有虚部,频率1k:

	  y2= j*sin(2*pi*F2*t)

则频谱搬移后函数的时域形式为:

S = y_sin .* y2;

S信号在时域波形图为:

频谱搬移,fft,mathlab,频谱分析,matlab,傅里叶分析,调制解调,频谱搬移,矩阵只有一个独立的冲击脉冲,是不是有点不可思议,我们对S做fft变换,得到S在频域下的频谱图为:
频谱搬移,fft,mathlab,频谱分析,matlab,傅里叶分析,调制解调,频谱搬移,矩阵和只有实部的频谱图是一样的,是不是很神奇?

复函数下的频谱搬移

同样,构建频谱搬移矩阵函数为复函数,频率1k:

	 y2 = exp(j*2*pi*F2*t)

则频谱搬移后函数的时域形式为:

S = y_sin .* y2;

再次画出S的时域图:
频谱搬移,fft,mathlab,频谱分析,matlab,傅里叶分析,调制解调,频谱搬移,矩阵咋一看,是不是有点画家出世的感觉,你能想想他的频谱图是怎么样的吗?事实上还是一样的,fft变换后,PPT如下图:

频谱搬移,fft,mathlab,频谱分析,matlab,傅里叶分析,调制解调,频谱搬移,矩阵
综上所述,这三个频谱转移函数,功能上都实现了频谱的转移,但是区别在哪里昵?细心的朋友可能已经看出来了,在于幅度(或者说是能量损失),只有复函数的频谱搬移是没有能量损失的,是不是昵?欢迎朋友们一起讨论。文章来源地址https://www.toymoban.com/news/detail-809074.html

到了这里,关于Matlab中利用FFT实现信号频谱搬移的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MATLAB中FFT频谱分析使用详解

    本文对matlab中fft的使用作出详细说明,并对频谱的双边、单边幅度谱与相位谱加以说明。 FFT是DFT的快速算法,当FFT点数为2的整数次幂时,MATLAB可以使用FFT的快速算法;如果不是2的整数次幂,那么只能使用公式的算法,实质上未使用上快速算法,两者在计算时间上有差异。

    2024年04月09日
    浏览(48)
  • Python中利用FFT(快速傅里叶变换)进行频谱分析

    本文将从实例的角度出发讲解fft函数的基本使用,不包含复杂的理论推导。 要对一个信号进行频谱分析,首先需要知道几个基本条件。 采样频率fs 信号长度N(信号的点数) 采样频率fs: 根据采样定理可知,采样频率应当大于等于被测信号里最高频率的2倍,才能保证不失真

    2024年01月17日
    浏览(51)
  • STM32实现FFT,求取幅度频谱

    FFT不太对劲的理解 FFT的原理比较复杂,因为32使用FFT不用去管算法是如何运作的,我在这里就进行简单的介绍了。 因为是简单介绍,就只介绍下幅度频谱图,不考虑相位频谱图。 ​ FFT可以将一个信号从时域变换到频域,比如一个1VPP的1k的正弦信号,它的时域和频域的示意图

    2024年01月22日
    浏览(34)
  • Matlab FFT变换细节(信号采样频率,FFT变换点数,频率分辨率)

    在做深度学习的故障诊断中,发现代码直接将原始信号fft之后直接将实频域信号输入网络中进行诊断,虽说效果比较不错95% 但因为输入的是双边谱且频率范围远超故障特征频率同时由于单个样本的点数只有1024点,信号的采样频率又特别高12k,导致频率分辨率极低,输入网络的序列

    2023年04月08日
    浏览(97)
  • 基于STM32&FFT(快速傅里叶变换)音频频谱显示功能实现

    + v hezkz17进数字音频系统研究开发交流答疑 一实验效果   二 设计过程 要用C语言实现STM32频谱显示功能,可以按照以下步骤进行操作: 1 确保已经安装好了适当的开发环境和工具链,例如Keil MDK或者GCC工具链。 2 创建一个新的STM32项目,并选择适合的MCU型号。 3 配置GPIO引脚用

    2024年02月12日
    浏览(42)
  • Matlab信号处理3:fft(快速傅里叶变换)标准使用方式

    运行效果:

    2024年02月09日
    浏览(47)
  • 【快速傅里叶变换(fft)和逆快速傅里叶变换】生成雷达接收到的经过多普勒频移的脉冲雷达信号(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 本文的

    2024年02月10日
    浏览(51)
  • 快速傅里叶变换(FFT)的频谱分辨率

    快速傅里叶变换Fast Fourier Transform (FFT)是快速计算离散傅里叶变换的一种算法,是我们在编程时进行傅里叶变换的主要方法。 FFT的输入与输出的个数一致,比如对于长度为1024的一维向量,其输出也为长度为1024的一维向量。而根据Nyquist-Shannon 采样定律,当采样率 为1Mhz(每秒

    2024年02月13日
    浏览(50)
  • 【SAR雷达】基于FFT和CA-CFAR的雷达信号仿真与目标检测附matlab代码

     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab完整代码及仿真定制内容点击👇 智能优化算法       神经网络预测       雷达通信       无

    2024年03月19日
    浏览(50)
  • Matlab实现FFT变换

    在信号处理中,快速傅里叶变换(FFT)是一种非常常见的频域分析方法。本文将介绍如何使用Matlab实现FFT变换,并通过Matlab代码演示实际输出结果。 原理 FFT是一种计算离散傅里叶变换(DFT)的快速算法。DFT将时域上的信号转换为频域上的信号,可以用以下公式表示: X k = ∑

    2024年02月04日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包