码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【信号与系统】信号频谱和测量之汉明窗


    【信号与系统】信号频谱和测量之汉明窗

    • 信号频谱和测量
      • 傅里叶变换
      • 汉明窗
      • 汉明窗函数
    • 频谱计算
    • 示例
      • 输入示例
      • 代码
      • 运行结果
    • 示例2-书中示例
    • 参考资料

    信号频谱和测量

    傅里叶变换

    在这里插入图片描述

    汉明窗

    实际情况中,由于无穷的积分范围问题,需要减少测量信号的时间,导致产生了并不存在的频率成分。
    一定程度解决该问题的一种方法,取一定数量样本(M个),乘以一个平滑函数:
    在这里插入图片描述
    其中n为样本序号

    汉明窗函数

    x=0:0.01:1;y=0.54-0.46*cos(2*pi*x);plot(x,y);grid on;
    
    • 1

    在这里插入图片描述

    频谱计算

    function [Xm,faxis, xtw] = CalcFourierSpectrum(xt,tmax,fmax,UseWindow)
     
    dt=tmax/(length(xt)-1);
    t=0:dt:tmax;
     
    xtw=xt;
    if(UseWindow)
        w=0.54-0.46*cos(2*pi*t/tmax);
        xtw=xt.*w;
    end
     
    OmegaMax=2*pi*fmax;
    dOmega = OmegaMax* .001;
     
    %fvec=[];
    %Xmvals=[];
     
    p=1;
    for Omega=0:dOmega:OmegaMax
        coswave=cos(Omega*t);
        sinwave=-sin(Omega*t);
        Xreal=sum(xtw.*coswave*dt);
        Ximag=sum(xtw.*sinwave*dt);
        mag=sqrt(Xreal*Xreal+Ximag*Ximag);
        
        fHz=Omega/(2*pi);
        mag=2*mag/tmax;
        
        faxis(p)=fHz;
        Xm(p)=mag;
        p=p+1;
    end
    end
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    示例

    输入示例

    f=1,w=2*pi*f=2*pi,T=2*pi/w=1, 
    x(t)=sin(2*pi*f*t)=sin(2*pi*t), f=1
    
    • 1
    • 2

    代码

    f=1;
    t=0:0.001:4; 
    xt=sin(2*pi*f*t) ;
    [Xm,faxis,xtw]=CalcFourierSpectrum(xt,4,10,0);
     
    subplot(2,2,1)
    plot(t,xt);
    grid on;
     
    subplot(2,2,2)
    plot(faxis,Xm);
    grid on; 
     
    [Xm,faxis,xtw]=CalcFourierSpectrum(xt,4,10,1);
    subplot(2,2,3)
    plot(t,xtw);
    grid on; 
     
     
    subplot(2,2,4)
    plot(faxis,Xm);
    grid on;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    运行结果

    在这里插入图片描述
    备注:频谱中,横坐标为f,正比于角频率(w=2piw)
    见CalcFourierSpectrum中:fHz=Omega/(2*pi);

    示例2-书中示例

    x(t)=sin(2pi7/2t)=sin(7pi*t), f=3.5

    在这里插入图片描述

    参考资料

    1.通信系统-使用MATLAB分析与实现,【澳】John W.Leis著,徐争光等译,清华大学出版社,2021年4月第1版

  • 相关阅读:
    基于神经网络的图像识别研究
    基于Qt的yolov5工程
    Figma UI UX设计教程
    2024 PyCharm激活,分享几个PyCharm激活的方案
    降C大法——第四式
    关于 Eclipse 的一场 “三角关系”
    npmjs官网(查询依赖包)
    会务转化如何取得“数字化”突破?会务营销数字化功能推荐
    做数据分析为什么要使用Python?
    html拖动滚动
  • 原文地址:https://blog.csdn.net/skytering/article/details/126573935
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号