필터 지우기
필터 지우기

Extract magnitude response in dB using fvtool(_) or freqz(_)

조회 수: 8 (최근 30일)
Shannon Cherry
Shannon Cherry 2021년 8월 4일
댓글: Shannon Cherry 2021년 8월 4일
Hi, I have some filter coefficients 'h' and I am plotting the frequency response using fvtool(h) or freq(z).
Now, I would like to know the magnitude response (Y-axis) values of any given Normalized frequency (X-axis) shown in the figure (attached).
I have to manually place a cursor on Normalized frequency (X-axis) and drag it to a point to know its corresponding Y-axis value as shown below.
Example: Y-axis value (Magnitude) = 0.3523 for a given X-axis value (Normalized frequency) 0.2427.
This is quite uncomfortable when I want to know the Y-axis values for 100s of X-axis values. Is there any alternative way or MATLAB command to get the Y-axis values for any given X axis value?

채택된 답변

Pere Garau Burguera
Pere Garau Burguera 2021년 8월 4일
You can still use freqz, and in h you get the frequency response.
[h,w] = freqz(z);
This returns an array of 8192 elements, you can change this number with
[h,w] = freqz(z,n);
Then
freqz(z)
without assigning it to a variable is what you have been doing, and it automatically plot the response for you (which actually uses fvtool), as indicated in freqz.
Where n is the number of samples of the frequency response. Check freqz for more info.
Since h is complex you can then get the magnitude with
h_mag = abs(h);
And the phase with
h_ph = angle(h);
  댓글 수: 3
Pere Garau Burguera
Pere Garau Burguera 2021년 8월 4일
To convert from linear to logarithmic, you can use
h_db = 10*log10(h_mag);
Shannon Cherry
Shannon Cherry 2021년 8월 4일
Thanks. This works.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Chunru
Chunru 2021년 8월 4일
fvtool visualizes filter frequency response and it has no return value. freqz returns the frequency response and has the syntax such as "[h,f] = freqz(___,n,fs)". You should use freqz to get the response h vs f.

카테고리

Help CenterFile Exchange에서 Filter Design에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by