以高斯信号为例,计算幅度谱、相位谱、双边功率谱、双边功率谱密度、单边功率谱、单边功率谱密度。(转载请注明出处)


MATLAB程序代码:

  1. %==========================================================================
    %Name:      spectrum_analysis.m
    %Desc:      以高斯信号为例,求解其频谱、双边功率谱、单边功率谱、双边功率谱密度、
    %           单边功率谱密度,这里高斯信号的半波全宽FWHM=50ps,中心点位于2.5ns处。
    %Parameter: 
    %Return:    
    %Author:    yoyoba(stuyou@126.com)
    %Date:      2015-4-28
    %Modify:    2015-4-29
    %=========================================================================
    clc;
    clear;
    FWHM=50e-12;            %高斯信号FWHM宽度,为50ps
    time_window=100*FWHM;   %高斯信号的采样窗口宽度,该值决定了傅里叶变换后的频率分辨率
    Ns=2048;                %采样点
    dt=time_window/(Ns-1);  %采样时间间隔
    t=0:dt:time_window;     %采样时间
    gauss_time=exp(-0.5*(2*sqrt(2*log(2))*(t-2.5e-9)/FWHM).^2); %高斯脉冲,中心位于2.5ns处。
    plot(t*1e+9,gauss_time,'linewidth',2.5);
    xlabel('Time/ns');
    ylabel('Amplitude/V');
    title('Gauss pulse');
    %===========以下计算双边谱、双边功率谱、双边功率谱密度=================
    gauss_spec=fftshift(fft(ifftshift(gauss_time)));    %傅里叶变换,并且进行fftshift移位操作。
    gauss_spec=gauss_spec/Ns;   %求实际的幅度值;
    df=1/time_window;               %频率分辨率
    k=floor(-(Ns-1)/2:(Ns-1)/2);    
    % k=0:Ns-1;
    double_f=k*df;   %双边频谱对应的频点

    figure; %幅度谱
    plot(double_f*1e-9,abs(gauss_spec),'linewidth',2.5);
    xlabel('Frequency/GHz');
    ylabel('Amplitude/V');
    title('double Amplitude spectrum');

    figure; %相位谱
    plot(double_f*1e-9,angle(gauss_spec),'linewidth',2.5);
    xlabel('Frequency/GHz');
    ylabel('Phase/rad');
    title('double Phase spectrum');

    figure; %功率谱
    double_power_spec_W=abs(gauss_spec).^2;                 %双边功率谱,单位W;
    double_power_spec_mW=double_power_spec_W*1e+3;          %双边功率谱,单位mW;
    double_power_spec_dBm=10*log10(double_power_spec_mW);   %双边功率谱,单位dBm;
    plot(double_f*1e-9,double_power_spec_dBm,'linewidth',2.5);
    xlabel('Frequency/GHz');
    ylabel('Power/dBm');
    title('double Power spectrum');

    figure; %功率谱密度
    double_power_specD_W=abs(gauss_spec).^2/(df);       %双边功率谱密度,单位W/Hz
    double_power_specD_mW=double_power_specD_W*1e+3;    %双边功率谱密度,单位mW/Hz
    double_power_specD_dBm=10*log10(double_power_specD_mW);%双边功率谱密度,单位dBm/Hz
    plot(double_f*1e-9,double_power_specD_dBm,'linewidth',2.5);
    xlabel('Frequency/GHz');
    ylabel('Power/(dBm/Hz)');
    title('double power spectrum Density');

    %==========以下计算单边谱、单边功率谱及单边功率谱密度=========
    gauss_spec=fft(ifftshift(gauss_time));  %计算单边谱无需fftshift
    gauss_spec=gauss_spec/Ns;       %计算真实的幅度值
    single_gauss_spec=gauss_spec(1:floor(Ns/2));
    single_f=(0:floor(Ns/2)-1)*df;

    figure; %幅度谱
    plot(single_f*1e-9,abs(single_gauss_spec),'linewidth',2.5);
    xlabel('Frequency/GHz');
    ylabel('Amplitude/V');
    title('single Amplitude spectrum');

    figure; %相位谱
    plot(single_f*1e-9,angle(single_gauss_spec),'linewidth',2.5);
    xlabel('Frequency/GHz');
    ylabel('Phase/rad');
    title('single Phase spectrum');

    figure;%功率谱
    double_power_spec_W=abs(gauss_spec).^2;  
    single_power_spec_W=2*double_power_spec_W(1:floor(Ns/2));   %单边功率谱,单位W
    single_power_spec_mW=single_power_spec_W*1e+3;              %单边功率谱,单位mW;
    single_power_spec_dBm=10*log10(single_power_spec_mW);       %双边功率谱,单位dBm;
    plot(single_f*1e-9,single_power_spec_dBm,'linewidth',2.5);  
    xlabel('Frequency/GHz');
    ylabel('Power/dBm');
    title('single Power spectrum');

    figure;%功率谱密度
    double_power_specD_W=abs(gauss_spec).^2/(df);
    single_power_specD_W=2*double_power_specD_W(1:floor(Ns/2));         %单边功率谱密度,单位W/Hz
    single_power_specD_mW=single_power_specD_W*1e+3;                    %单边功率谱密度,单位mW/Hz
    single_power_specD_dBm=10*log10(single_power_specD_mW);             %单边功率谱密度,单位dBm/Hz
    plot(single_f*1e-9,single_power_specD_mW,'linewidth',2.5);
    xlabel('Frequency/GHz');
    ylabel('Power/(dBm/Hz)');
    title('single power spectrum density');


运行结果:

http://blog.chinaunix.net/uid-11829250-id-4992257.html
spectrum_analysis.rar

时域信号的频谱、功率谱和功率谱密度计算相关推荐

  1. 快速傅里叶变换功率谱密度matlab_[转载]Matlab实例:频谱、功率谱和功率谱密度计算...

    %================ %作者:yoyoba %Email:stuyou@126.com %================ clc; clear; FWHM=50e-12; %高斯信号F ...

  2. matlab中功率谱密度,功率谱和功率谱密度

    宋老师,您好: 1.关于语音信号,求功率谱和功率谱密度,是不是一样的,没有区别的? 2.看到您书中求取功率谱密度(p28)用的是pwech方法.看到还有用spectrogram函数,用[S,F,T,P ...

  3. 软件定义无线电的实时频谱分析仪相关原理介绍(一)——信号与频谱

    缩略语表 ADC – Analog Digital Converter,模数转换器 DAC – Digital Analog Converter ,数模转换器 DSP – Digital Signal ...

  4. 用Matlab进行时域信号的频谱分析

    傅立叶变换是一种线性的积分变换,常在将信号在时域(或空域)和频域之间变换时使用,在物理学和工程学中有许多应用.因其基本思想首先由法国学者约瑟夫·傅里叶系统地提出,所以以其名字来命名以示纪念.在不同的研 ...

  5. Matlab中频谱、功率谱、功率谱密度的关系以及如何求信号的功率

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Matlab中频谱.功率谱.功率谱密度的关系 一.频谱.功率谱.功率谱密度 二.MATLAB中求信号的功率 Matlab中频 ...

  6. 学习通信原理之——从实验中理解频谱/功率谱/功率谱密度(MATLAB演示)

    我的个人博客文章链接如下:学习通信原理之--从实验中理解频谱/功率谱/功率谱密度(MATLAB演示) 前言 最近在复习通信原理,每次到了功率谱这一块就感到困惑,每次都要去查,我觉得不能再这样循环下去了 ...

  7. 频谱 功率谱 功率谱密度

    频谱是个很不严格的东西,常常指信号的Fourier变换:     功率谱是一个时间平均(time average)概念:     功率谱的概念是针对功率有限信号的(能量有限信号可用能量谱分析),所表现 ...

  8. matlab信号的能量谱代码,信号的频谱 频谱密度 功率谱密度 能量谱密度

    这是我在知乎上的一个回答,鉴于很多朋友对这几个概念不是很清楚,就在公众中发一下. 这几个概念,对于刚学信号系统的同学甚至对于很多信号处理的老手来说,都是分不清楚的,下面我们就一一解释这几个概念. 要解 ...

  9. 信号--频谱--功率谱--能量谱

    1.信号分为能量信号和功率信号 一个普通信号x(t),那么信号的功率Px 在时间T内,信号的能量表示为Ex 2.怎么判断信号是能量信号还是功率信号] 1. 能量信号:下面的极限值存在,则为能量信号 2 ...

  10. 信号归一化功率_信号的频谱 频谱密度 功率谱密度 能量谱密度

    这是我在知乎上的一个回答,鉴于很多朋友对这几个概念不是很清楚,就在公众中发一下.   这几个概念,对于刚学信号系统的同学甚至对于很多信号处理的老手来说,都是分不清楚的,下面我们就一一解释这几个概念. ...

最新文章

  1. SAP RETAIL 参考PO创建分配表之二
  2. linux开发板推荐_【新品发布】WiFi开发板XW-01-Kit,超低功耗,冷启快联,智能门锁首选!...
  3. 上海理工大学第二届“联想杯”全国程序设计邀请赛 Identical Day 思维 + 暴力
  4. Java JDBC篇4——数据库连接池
  5. Spring之IOC容器篇
  6. WinFormreportViewer报表[矩阵]的使用(一)(附源码示例) 之配餐系统的开发
  7. Android笔记 采用async http 框架 提交数据到服务器demo
  8. Chainlink预言机正式集成至币安智能链
  9. (原创)在service中定时执行网络操作的几点说明
  10. oracle clob 粘贴,使用Oracle SQL Developer将CLOB导出到文本文件
  11. 余弦距离和欧氏距离,知道原理和公式后真的很简单
  12. 在ASP.NET 2.0中实现URL重写
  13. Win10 CMD命令大全—超好用快捷键
  14. C++战斗游戏-----------圣光战神の起源之战 V8.13.0
  15. 移动终端开发详解总结(一)(kotlin版)| CSDN创作打卡
  16. 应用程序崩溃定位查找 (二)
  17. html语言无序下拉菜单,(4条消息)HTML语言标记详解
  18. 去除重复字母Python解法
  19. (附源码)计算机毕业设计SSM快递代收系统
  20. 白平衡(Color Constancy,无监督AWB):CVPR2019论文解析

热门文章

  1. Android开机画面的修改
  2. matlab中ans的含义
  3. 远程桌面连接只有2个会话活动
  4. 坚持住啊,还在代码屎山中爬行的同事们
  5. 深度学习数据增强(data_augmentation):Keras ImageDataGenerator
  6. C语言模拟实现memcmp函数
  7. 关于获取日周月的时间处理与日期联动处理
  8. docker容器中获取宿主机任意信息
  9. 百度地图Js之浏览端
  10. 基于Java Swing的小游戏-连连看