freqz
Compute frequency response
Description
Examples
Frequency Response of gammatoneFilterBank
Create a gammatoneFilterBank
object. Call freqz
to get the complex frequency response, H
, of the filter bank and a vector of frequencies, f
, at which the response is calculated. Plot the magnitude frequency response of the filter bank.
gammaFiltBank = gammatoneFilterBank;
[H,f] = freqz(gammaFiltBank);
plot(f,abs(H))
xlabel("Frequency (Hz)")
To get the frequency response of a subset of filters in the filter bank, specify the second argument as a row vector of indices between one and the number of filters in the filter bank. Get the frequency response of the 10th filter in the filter bank and plot the magnitude frequency response.
[H,f] = freqz(gammaFiltBank,10);
plot(f,abs(H))
xlabel("Frequency (Hz)")
To specify the number of points in the frequency response, use the N
name-value argument. Specify that the frequency response contains 128 points. Plot the magnitude frequency response.
[H,f] = freqz(gammaFiltBank,N=128);
plot(f,abs(H))
xlabel("Frequency (Hz)")
To visualize the magnitude frequency response only, call freqz
without any output arguments. Plot the magnitude frequency response, in dB, of filters 20, 21, and 22 with 1024 points.
freqz(gammaFiltBank,[20,21,22],N=1024)
Frequency Response of octaveFilterBank
Create an octaveFilterBank
object. Call freqz
to get the complex frequency response, H
, of the filter bank and a vector of frequencies, f
, at which the response is calculated. Plot the magnitude frequency response in dB.
octFiltBank = octaveFilterBank; [H,f] = freqz(octFiltBank); plot(f,20*log10(abs(H))) xlabel("Frequency (Hz)") ylabel("Magnitude (dB)") set(gca,XScale="log") axis([10 octFiltBank.SampleRate/2 -100 2])
To get the frequency response of a subset of filters in the filter bank, specify the second argument as a row vector of indices between one and the number of filters in the filter bank. Get the frequency response of the 5th filter in the filter bank and plot the magnitude frequency response in dB.
[H,f] = freqz(octFiltBank,5); plot(f,20*log10(abs(H))) xlabel("Frequency (Hz)") ylabel("Magnitude (dB)") set(gca,XScale="log") axis([10 octFiltBank.SampleRate/2 -100 2])
To specify the number of points in the frequency response, use the N
name-value argument. Specify that the frequency response contains 8192 points. Plot the magnitude frequency response in dB.
[H,f] = freqz(octFiltBank,N=8192); plot(f,20*log10(abs(H))) xlabel("Frequency (Hz)") ylabel("Magnitude (dB)") set(gca,XScale="log") axis([10 octFiltBank.SampleRate/2 -100 2])
To visualize the magnitude frequency response only, call freqz
without any output arguments. Plot the magnitude frequency response, in dB, of filters 4, 5, and 6 with 1024 points.
freqz(octFiltBank,[4,5,6],N=1024)
Input Arguments
obj
— Object to get filter frequency responses from
gammatoneFilterBank
| octaveFilterBank
Object to get filter frequency responses from, specified as an object of gammatoneFilterBank
or octaveFilterBank
.
ind
— Indices of filters to calculate frequency responses from
1:N (default) | row vector of integers with values in the range [1, N]
Indices of filters to calculate frequency responses from, specified as a row vector
of integers with values in the range [1, N]. N is
the total number of filters designed by obj
.
n
— Number of points in frequency response
8192 (default) | positive integer
Number of points in the frequency response, specified as a positive integer.
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Output Arguments
H
— Complex frequency response of each filter
matrix
f
— Frequencies at which response is computed (Hz)
column vector
Frequencies at which the response is computed in Hz, returned as a column vector.
Data Types: double
Version History
Introduced in R2019a
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)