MATLAB Freqz: Plotting Frequency Response Up to W=100

  • Context: MATLAB 
  • Thread starter Thread starter LM741
  • Start date Start date
  • Tags Tags
    Matlab
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
8 replies · 36K views
LM741
Messages
130
Reaction score
0
hey guys .
i have this discrete signal : z/(z-(e^-2T))

and i want to get a frequency response of it...

i use the matlabe function : freqz

but the problem is that it only plots up to the angular frequency of 1! i.e. its a normalized frequency...

does anybody know how i can make it plot up to w =100 for example?
i need to do this so i can compare it to my continuous signal and analyze any alising that may occur..

thanks
John
 
Physics news on Phys.org
Learn to use the function by typing "help freqz" at the prompt.
You'd then see that FREQZ(B,A,N,Fs) will display the spectrum in the frequency axis scaled to the sampling frequency (Fs).
 
thanks - i did try that first; this post was my second alternative.

i kept changing the values of N and Fs but did not get the right results. something is missing - i was hoping somebody that knows MATLAB well could tell me.
 
Well, what is the sampling frequency Fs? For N, try setting it to a big number, like 2^10, for better frequency resolution.
 
please help

sup doodle - okay I've played around some more but without achieving much success. I've attahed the frequency responses i got for my discrete signal with teo different sampling periods. As you can see, it only plots the normailized frequncey (upto 1rad/sec) but i really need it to plot upto at leat 100rad/sec(as with the continuous signal frequency response) this is so i can observe any repetition of the sampled signal. hope you or some one can help me

thanks very much
John
 

Attachments

Hmm... you need to understand that discrete-time signals do not appreciate the notion of sampling time. If you are convinced that your sampling frequency is 100Hz, then you should use "freqz(znum,zden,[],100)" instead.

And please understand also that spectrums of discrete-time signals are periodic and what is shown (by freqz) is only one-half period of the spectrum. If you were thinking of looking at the spectrum beyond the 1Hz and expecting to find something other than what is contained in this one-half period, then you are gravely mistaken.
 
i am well aware of the fact thet a frequncy responce of a sampled signal will be periodic...you seem to keep missing my point/dilema. I need to see these repetitions - i.e. i want to see the effect of my frequency response with various sampling periods. So i DO want a spectrum over 1Hz! i will find something other! - i will be able to observe the level of severity of aliasing with different sampling periods!

thanks anyway
 
The DTFT of a system can be calculated from the transfer function using freqz. Define the numerator and the denominator of the transfer function in num and den. The command
[H,Omega] = freqz(num,den,n,'whole');
computes the DTFT for n points equally spaced around the unit circle at the frequencies contained in the vector Omega. The magnitude of H is found from abs(H) and the phase of H is found from angle(H). To customize the range for ohm, define a vector Omega of desired frequencies, for example Omega = -pi:2*pi/300:pi defines a vector of length 301 with values that range from -pi to pi. To get the DTFT at these frequencies, type

H = freqz(num,den,Omega);
 
Well okay, if you want to observe beyond the 1Hz, then do this:
freqz(znum,zden,linspace(0,3,100),1)
which gives a plot upto 3Hz with 1Hz as the sampling frequency, i.e., you'd be looking at three period of the spectrum.