[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Plotting the frequency response of a filter in "real" Hz
From: |
Sergei Steshenko |
Subject: |
Re: Plotting the frequency response of a filter in "real" Hz |
Date: |
Thu, 21 Apr 2016 18:38:23 +0000 (UTC) |
--------------------------------------------
On Thu, 4/21/16, Sergei Steshenko <address@hidden> wrote:
Subject: Re: Plotting the frequency response of a filter in "real" Hz
To: address@hidden, "Guilherme Ritter" <address@hidden>
Date: Thursday, April 21, 2016, 9:18 PM
--------------------------------------------
On Thu, 4/21/16, Guilherme Ritter <address@hidden>
wrote:
Subject: Plotting the frequency response of a filter in
"real" Hz
To: address@hidden
Date: Thursday, April 21, 2016, 3:44 AM
Hi everyone.
I've just started in filter design at college
and I'm learning to use Octave for it. I want to see the
frequency response of filters I design. I've managed to
find code on the internet, but the output's x axis is in
radian frequency. I'd like it to show "actual"
Hz. For example, if the cutoff frequency is 5,5 kHz, I'd
like for it to be represented in the plot's x axis at
5500 or 5,5.
I've searched a lot but couldn't find
anything, only some solutions that work in MatLab but not
in
Octave. At college, I'm using Octave 4.0.0, packages
control 3.0.0 and signal 1.3.2, Windows 7 Enterprise x64.
At
home, all the versions are up to date, Xubuntu 14.04
x64.
I've found the code
here:https://ccrma.stanford.edu/~jos/fp/Example_LPF_Frequency_Response.html
Can I use Octave's functions to get that plot
the way I want it?
Thanks in advance.
-----Inline Attachment Follows-----
_______________________________________________
Help-octave mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/help-octave
"the output's x axis is in radian frequency" - I guess you
are talking about 'z' domain filter.
If so, then something like this;
% code BEGIN
sample_rate = 44100; % or whatever you have
number_of_points = 1000; % the bigger number of points, the
better is resolution of the plot
zfrequency_range = exp(pi * i * (0:number_of_points) /
number_of_points); % from 0Hz to Nyquist frequency
semilogx(zfrequency_range(2:end), 20 *
log10(abs(F(zfrequency_range(2:end))))); % 'F' is your
filter transfer function in 'z' domain
% code END
Pay attention to "(2:end)" instead of "(1:end)", i.e.
instead of default full index range - in 'semilogx' you
can't display x of 0 because log(0) is -inf .
--Sergei.
A correction:
% code BEGIN
sample_rate = 44100; % or whatever you have
number_of_points = 1000; % the bigger number of points, the better is
resolution of the plot
zfrequency_range = exp(pi * i * (0:number_of_points) /number_of_points); % from
0Hz to Nyquist frequency
frequency_range = 0.5 * sample_rate * (0:number_of_points) /number_of_points);
% from 0Hz to Nyquist frequency
semilogx(frequency_range(2:end), 20 * log10(abs(F(zfrequency_range(2:end)))));
% 'F' is your filter transfer function in 'z' domain
% code END
--Sergei.
- Re: Plotting the frequency response of a filter in "real" Hz, (continued)
- Re: Plotting the frequency response of a filter in "real" Hz, Maynard Wright, 2016/04/21
- Re: Plotting the frequency response of a filter in "real" Hz, Guilherme Ritter, 2016/04/21
- Re: Plotting the frequency response of a filter in "real" Hz, Maynard Wright, 2016/04/21
- Re: Plotting the frequency response of a filter in "real" Hz, Sergei Steshenko, 2016/04/22
- Message not available
- Re: Plotting the frequency response of a filter in "real" Hz, Guilherme Ritter, 2016/04/22
- Re: Plotting the frequency response of a filter in "real" Hz, Guilherme Ritter, 2016/04/22
- Re: Plotting the frequency response of a filter in "real" Hz, Maynard Wright, 2016/04/22
Re: Plotting the frequency response of a filter in "real" Hz, Sergei Steshenko, 2016/04/21
Re: Plotting the frequency response of a filter in "real" Hz,
Sergei Steshenko <=
Plotting the frequency response of a filter in "real" Hz, Ericbarnhill, 2016/04/24
Re: Plotting the frequency response of a filter in "real" Hz, Sergei Steshenko, 2016/04/25