How to generate Pulse Frequency Modulated (PFM) waveform?
44 次查看(过去 30 天)
显示 更早的评论
There are a lot of ways to generate PWM in simulink, also there is a built in PWM Generator block. But there are no direct resources availabe for generating variable frequency PWM. How can the variable frequency PWM be generated with the condition that "an update to frequency must be done at the completion of previous cycle".
This Programmable Pulse Generator is capable of varying the frequency of PWM, but it do not meet the above stated condition as updated are done instantly and do not wait for the cycle to complete which produces glitches in the application where it is used.
If someone knows how can the frequency of sawtooth/triangular..etc waveforms be changed in rum time, please share it too as it can provide a foundation for generation of variable frequency PWM.
Thank you!
6 个评论
Mathieu NOE
2021-9-29
hello again
so as usually the carrier is a sawtooth signal, I was thinking of using a counter where the slope (= increment) can vary so the frequency of the carrier will be proportionnal to this increment
have you tried something like taht already ?
采纳的回答
Mathieu NOE
2021-9-29
hello again
so I created this simulation (see attachement) where the counter output is modulated by the frequency input
the frequency is a number around 1 (1 = nominal frequency)
if frequency is equal to 1 , the counter will increase up to Nmax specified (here 256) at the rate of the simulation (here 1000 iterations per second )
you can modulate that frequency to make it faster or slower . the upper trace is the counter output showing the sawtooth waveform, the lower trace is a copy of the "real" frequency value used at each counter cycle start (no modification of frequency inside one cycle is allowed)
maybe you can further build your solution on this little demo
all the best
Done with R2020b
5 个评论
Mathieu NOE
2021-9-30
hello
FYI, changing Nmax will affet the cycle duration of the triangle waveform but also it's amplitude , so if you want to keep the amplitude constant (as a regular sawtooth wave form generator) I would only use the freq input (my 2 cents)
更多回答(0 个)
社区
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Waveform Generation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!