首页 > 解决方案 > 如何在 MatLab 中生成 PWM

问题描述

我想生成一个 PWM 信号。我没有达到预期的结果。

   close all
    clear all

    fs=1000;
    ts=1/fs;
    t=[-5:ts:5];

    fc =10; %Frecuencia señal portadora
    fm = 1; %Frecuencia señal del mensaje
    a = 5; %Amplitud de la señal portadora
    b = 0.25; %Amplitud de la señal del mensaje

    vm = b.*sin(2*pi*fm*t);      %Genera la Señal del mensaje


    bits = [1, 0, 1, 1];
    amp = (2*bits-1);
    vc =   rect(t/b) + rect((t+1)/b) ...
          + rect((t+2)/b) + rect((t+3)/b)+ rect((t+4)/b)+ rect((t+5)/b)+...
           rect((t-1)/b) ...
          + rect((t-2)/b) + rect((t-3)/b)+ rect((t-4)/b)+ rect((t-5)/b)

    n = length(vc);

    for i = 1:n
        if (vm(i)>=vc(i))
            pwm(i) = 1;
        else
            pwm(i) = 0;
        end
    end

我没有得到真正的 PWM 信号。帮我。

通过 MatLab 生成的 PWM 信号

标签: matlab-figure

解决方案


推荐阅读