首页 > 代码库 > matlab实现可调节占空比的方波
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])
不太了解的可以联系我QQ:1162139673:
matlab实现可调节占空比的方波
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。