How to generate Pulse Frequency Modulated (PFM) waveform?

30 ビュー (過去 30 日間)
Sohail Ahmed
Sohail Ahmed 2021 年 9 月 26 日
コメント済み: Sohail Ahmed 2021 年 9 月 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 件のコメント
Sohail Ahmed
Sohail Ahmed 2021 年 9 月 28 日
So I want to generate flexible PFM to regulate the output of resonant converters. Since the output voltage of resonant converters is regulated by changing the frequency of switching waveforms. I hope you got my point.\
Regards,
Sohail
Mathieu NOE
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
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
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)
Sohail Ahmed
Sohail Ahmed 2021 年 9 月 30 日
The amplitude does not matter since I will compare sawtooth waveform with a constant value of half the value of Nmax to generate PWM.

サインインしてコメントする。

その他の回答 (0 件)

コミュニティ

カテゴリ

Help Center および File ExchangeWaveform Generation についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by