• 震荡信号Simulink仿真


     1. simulink仿真设计

        震荡信号本质是调制信号,可以表示为:

        u(t)=A*(1+m*cos(Ωt+θ))*cos(ωt+φ)=A*cos (ωt+φ)+ A*m*cos(Ωt+θ)*cos(ωt+φ)

        使用simulink仿真如下:

     

    2. 时域信号

    时域信号输入设计为信号调制模型。

    u(t)=A*(1+m*cos(Ωt+θ))*cos(ωt+φ)=A*cos (ωt+φ)+ A*m*cos(Ωt+θ)*cos(ωt+φ)

    输入信号1: m*cos(Ωt+θ) = 0.5*cos(2*pi*5*t), 调制深度m=0.5, 频率f=5Hz。

     

    输入信号2: A*cos(Ωt+θ) = 100*cos(2*pi*100*t), 幅值A=100, 频率f=100Hz。

     

    时域信号:

     

    图中,蓝色为相乘后的信号,最大幅度为mA=50, 粉色为叠加后的信号,可见100Hz的信号被5Hz信号调制,信号包络为5Hz。

    3. 频域信号

    对叠加后的信号进行fft变换。

    FFT输出为:

     

    中心平率100Hz,幅值100, 左右各有一个侧带波,信号频率为100±5Hz,幅值为25.

    为什么会出现这个情况?

    u(t)=A*(1+m*cos(Ωt+θ))*cos(ωt+φ)=A*cos (ωt+φ)+ A*m*cos(Ωt+θ)*cos(ωt+φ)

    积化和差公式化简后:

    u(t)=A*cos(ωt+φ)+0.5*A*m*cos((ω+Ω)t+φ+θ)+0.5*A*m*cos((ω-Ω)t+φ-θ).

    如上图,幅值为25的侧带波来源于0.5mA=0.5*0.5*100 = 25,频率是ω+Ω和ω-Ω。

    4 . 信号解调

    震荡信号会引起测量系统失效,为什么如此呢?

    简单的说,信号被调制之后,原基频信号就会以较低频率的震荡信号为包络发生震荡,而测量系统的记录时间长度有限,那么就会造成记录时间段内的波形重建之后,依然不够2倍包络波周期,从时域波形来看,就是测量系统每次计算的数据只是较长包络的一小段。

    所以需要对信号进行解调,平方解调是分析震荡信号的有效手段。对叠加后的信号进行低通滤波,排除谐波干扰,然后进行FFT计算。解析过程就是对信号u(t)进行平方,经过简单的积化和差计算,可得平方后调制波Ω出现在2倍频位置,即会出现mA2cos(Ωt+θ)因式。

     

    频域图如下:

     

    震荡信号在5Hz出,幅度为mA2=0.5*100*100 = 5000。

    而200Hz处应该为基波信号,但幅值变得很小是由于中间的滤波器缘故。

     

    滤波器设计为带通,1Hz-100Hz, 20阶IIR滤波器。

     

     完成仿真后,就可以从FDA Tool生成滤波器系数,然后用C在MCU上实现上述FFT计算和滤波过程,最终解析出震荡信号特征。

  • 相关阅读:
    删除旧版vue-cli
    vue.extend和vue.component的区别
    vue-loader处理vue文件
    CentOS7安装iptables防火墙
    java类的初始化顺序
    java的接口和抽象类的理解
    js中的in操作符
    js中call和apply函数
    js的类型转换
    闭包作用
  • 原文地址:https://www.cnblogs.com/pingwen/p/6675472.html
Copyright © 2020-2023  润新知