How to generate Pulse Frequency Modulated (PFM) waveform?
36 views (last 30 days)
Show older comments
Sohail Ahmed
on 26 Sep 2021
Commented: Sohail Ahmed
on 30 Sep 2021
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 Comments
Mathieu NOE
on 29 Sep 2021
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 ?
Accepted Answer
Mathieu NOE
on 29 Sep 2021
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 Comments
Mathieu NOE
on 30 Sep 2021
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)
More Answers (0)
Communities
More Answers in the Power Electronics Control
See Also
Categories
Find more on Waveform Generation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!