matlab实现可调节占空比的方波

Posted 尽数空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab实现可调节占空比的方波相关的知识,希望对你有一定的参考价值。

我大概讲一下实现的原理:正弦波移相φ,当使得大于sin(φ)的值为1,其他值为-1,占空比就跟这个φ值之间有联系。

占空比原理图如下所示。

结果上图,可以实现调节占空比,方波频率,方波个数。

下面是函数的代码:

function y=squarewav(Vm,f,K,n)      %参数为幅度,频率,占空比,以及波形个数

% 正弦信号
% f = 1000;% 正弦波频率
w = 2*pi*f;% 正弦波角频率
% Vm = 2;% 正弦幅值
u = (0.5-K)*pi;% 相位
N = 4000;% 调节采样率,采样率越大,波形误差越小
M = n*N;
Fs = N*f;% 采样率:1/f_sameple为采样时间间隔,通常以N倍的信号源来表示
t = [0:M]/Fs;% 采样时间向量(始终采N个点,即刚好采信号源的一个周期)
y_sin = Vm*sin(w*t+u);

for i=1:M+1
    if(y_sin(i)>=y_sin(1))
        y_plus(i) = Vm;
    else
        y_plus(i) = -Vm;
    end
end

figure
subplot(2,1,1)
plot(t,y_sin,t,y_plus,\'r\',t,0,\'-\')
subplot(2,1,2)
ylim([-2.5 2.5])
plot(t,y_plus,\'r\',t,0,\'-\')
ylim([-2.5 2.5])

以上是关于matlab实现可调节占空比的方波的主要内容,如果未能解决你的问题,请参考以下文章

Arduino利用TimerOne库产生固定频率和占空比的方波

如何通过调节PWM的占空比来调节电压

stm32输出的pwm有啥用

什么是pwm占空比

pwm频率和占空比的区别

STM32基础问题分析——PWM配置