MATLAB MATLAB Freqz: Plotting Frequency Response Up to W=100

  • Thread starter Thread starter LM741
  • Start date Start date
  • Tags Tags
    Matlab
AI Thread Summary
The discussion revolves around obtaining the frequency response of a discrete signal using MATLAB's freqz function. The user, John, is trying to plot the frequency response beyond the normalized frequency limit of 1 rad/sec to analyze aliasing effects in comparison to a continuous signal. Despite attempts to adjust the parameters N and Fs, John is struggling to achieve the desired results. Contributors suggest that the frequency response of discrete-time signals is periodic and that freqz displays only one-half period of the spectrum. To extend the frequency range, they recommend using specific commands, such as freqz with a defined frequency vector or adjusting the sampling frequency. The conversation emphasizes the need to understand the periodic nature of discrete signals while exploring ways to visualize their frequency responses over a broader range.
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.
 

Similar threads

Back
Top