Simulink help for getting a frequency I can use as an input

  • #1
50
11
Ok, say I have a sine wave block that has a frequency of 60Hz. What can I do to get that frequency as a number so I can use it as an input to another block? I've tried various things such as a "sign" block that counts when it switches from positive to negative and then a counter that resets after a second. That doesn't work. It counts up and resets, but it doesn't just tell me what the frequency of the signal is. I want something that will just say "hey, the frequency of the input signal is this." so I can feed it into another block.

Essentially I am trying to get a frequency I can feed into a PID so I can control a variable frequency to keep it at a steady 60 Hz.

I am actually trying to control the frequency of a Double fed induction generator that doesn't have a steady output voltage frequency. We can control the rotor frequency as a means of controlling the stator output frequency, but I am trying to do this automatically with a PID controller. I'm feeding the stator voltage into a controller that can run simulink models, but I can't get it to just say what the stator frequency is. I can't find anything is simulink that will just give me a block that has the frequency of the input signal that I can feed into something else. Any suggestions?
 

Answers and Replies

  • #2
245
0
Hi,
You can use PLL block in Simulink to find the frequency of the signal. Both single and three-phase PLLs are available in Simulink.
 
  • #3
50
11
I had looked at the PLL block, but I couldn't find a way to hook it up to anything that actually gave me the frequency. Say for example, I just hook up a sinewave block set to 60Hz to the PLL, what do I need to run the Frequency output to for it to say "60"? I tried just hooking it up to a display but it would only give me a 1 I think. What do I need to do with the PLL to actually get it to output the frequency being fed in?
 
  • #4
donpacino
Gold Member
1,439
283
unless you have the DSP toolbox, there is not a drop in block.

have you had a signals and systems class?
You want to extract frequency information, which implies a DFT, FFT, or continuous Fourier transform function.
Either use the FFT block from the DSP toolbox, or use the s-block to write your own function and implement the Fourier transform or fft or dft.
or you can use individual blocks to implement the for-mentioned functions. Then you can save the pattern as a subsystem and use it in the future.
 
Last edited:

Related Threads on Simulink help for getting a frequency I can use as an input

  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
1
Views
848
  • Last Post
Replies
5
Views
6K
  • Last Post
Replies
1
Views
5K
Replies
1
Views
338
  • Last Post
Replies
1
Views
5K
Replies
1
Views
2K
  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
6
Views
671
Replies
1
Views
2K
Top