【问题标题】:How to represent a square wave in Matlab?Matlab中如何表示方波?
【发布时间】:2021-05-10 10:53:46
【问题描述】:

我必须在 Matlab 中表示一个幅度为 0.19 且周期为 495 个样本的方波,但我不知道该怎么做。我必须这样做,因为我必须估计图中的函数 P(z)。我知道输入 w(是一个包含 5000 个元素的向量),我知道 r(另一个长度为 5000 的向量),我知道 n(t) 是这个方波,所以我必须表示它才能获得输出P(z) 为 r(t)-n(t)。有人可以帮帮我吗?

我只知道在 Matlab 中有考虑周期 2pi 的命令x=square(t),我真的不知道如何更改它以表示我的周期和幅度。对于幅度,我只需乘以 square(t) 的值即可?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    这个小脚本可能会为您提供正确使用square() 函数的基础知识。变量Square_Wave_Frequency 将是控制波频率的主要因素。由于 MATLAB/数字计算机的离散特性,变量 Sampling_Period 将控制波形的分辨率。要调整幅度,只需将square() 函数返回的信号乘以所需的0.19

    Start_Time = 0;
    End_Time = 0.05;
    Sampling_Period = 0.0001;
    t = (Start_Time:Sampling_Period:End_Time);
    
    Amplitude = 0.19;
    Square_Wave_Frequency = 495; %Frequency in Hz%
    Duty_Cycle_Percentage = 50; %ON half the time and OFF half the time%
    Square_Wave = Amplitude*square(2*pi*Square_Wave_Frequency*t,Duty_Cycle_Percentage);
    
    plot(t,Square_Wave);
    title("Bipolar Square Wave " + num2str(Square_Wave_Frequency) + "Hz");
    xlabel("t"); ylabel("Amplitude");
    

    【讨论】:

    • 唯一的问题是......我为频率添加了什么?频率不是周期的倒数吗?
    • 是的。你的信号周期是多少?确保不要与Sampling_Period 混淆,这是另一个独立的数量。
    • 文字显示“周期 495 个样本”,所以我应该输入频率 = 1/495?
    • 你的意思是每个周期有 495 个样本?如果每个周期采集 495 个样本,则 Sampling_Period = 1/495。预期的波浪会是什么样子?如果它每秒在 ON/OFF 之间振荡 495 次,那么是的,Square_Wave_Frequency = 1/495
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    • 1970-01-01
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-18
    相关资源
    最近更新 更多