Reply by robert bristow-johnson●November 9, 20102010-11-09
On Nov 9, 9:11�am, "enricophpdsp" <enricophpdsp@n_o_s_p_a_m.yahoo.com>
wrote:
> hello,
>
> while designing any low pass filter we specify
>
> f= remez(234,[0 0.3 0.5 1],[ 1 1 0 0]);
> we write [0 0.3 0.5 1] instead of [ o *pi, 0.3*pi, �0.5* pi, 1* pi]
> saying that we are using normalised frequency.
> but according to the definition of normalised frequency it is the frequency
> divided by the sampling frequency.
> so do these definitions clash?
> and I want to remove 50 hz noise in my signal. so while designing filter
> how should I normalise it?
MATLAB gets a lot of conventions wrong. in their firpm() or remez()
function, they define "1" to be the nyquist frequency, which is half
of the sampling frequency.
normally, in normal usage, us normal DSP folk say that "normalized
frequency" is the frequency (whether angular or not) that is divided
by the sampling frequency. so in non-radian frequency (like Hertz, if
it weren't normalized), f=1/2 means the nyquist frequency, and for
radian or angular frequency, omega=pi means nyquist. in both cases,
this is the same as saying that the sampling period is 1 unit of time.
in MATLAB "1" means nyquist. and sometimes "1" means DC and N/2+1
means nyquist. they don't get any of these conventions right.
r b-j
Reply by Tim Wescott●November 9, 20102010-11-09
On 11/09/2010 06:11 AM, enricophpdsp wrote:
> hello,
>
> while designing any low pass filter we specify
>
> f= remez(234,[0 0.3 0.5 1],[ 1 1 0 0]);
> we write [0 0.3 0.5 1] instead of [ o *pi, 0.3*pi, 0.5* pi, 1* pi]
> saying that we are using normalised frequency.
> but according to the definition of normalised frequency it is the frequency
> divided by the sampling frequency.
> so do these definitions clash?
> and I want to remove 50 hz noise in my signal. so while designing filter
> how should I normalise it?
"Normalization" means to scale everything by some sensible common
factor. The huge pitfall in that definition is the word "sensible" --
what makes perfect sense to me may be the worst damn thing in the world
for you.
So you just can't count on something being normalized the way that you
think would be sensible. How do you cope? One, read the fine manual.
Two, test -- even if the manual tells you, you'll still want to double
check.
It doesn't take much time to design a simple low-pass filter then run a
Bode plot, after all.
--
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
Reply by tjc●November 9, 20102010-11-09
>hello,
>
>while designing any low pass filter we specify
>
>f= remez(234,[0 0.3 0.5 1],[ 1 1 0 0]);
>we write [0 0.3 0.5 1] instead of [ o *pi, 0.3*pi, 0.5* pi, 1* pi]
>saying that we are using normalised frequency.
>but according to the definition of normalised frequency it is the
frequency
>divided by the sampling frequency.
>so do these definitions clash?
>and I want to remove 50 hz noise in my signal. so while designing filter
>how should I normalise it?
>
>thnx
>
>
Type "help firpm" in Matlab. (firpm is the replacement for remez in newer
versions. It implements the same Parks-McClellan algorithm. It should
work the same as remez, but I don't have access to an older version of
matlab, so I can't test it.)
The crucial part is:
"F is a vector of frequency band edges in pairs, in ascending order between
0 and 1. 1 corresponds to the Nyquist frequency or half the sampling
frequency."
So, using firpm(234, [0 0.3 0.5 1],[ 1 1 0 0]) creates a lowpass filter
with a cutoff starting at 0.3*fs/2 and ending at 0.5*fs/2. Since you
(hopefully) know your sampling frequency, you should then be able to figure
out the band edges to pass into firpm.
Reply by enricophpdsp●November 9, 20102010-11-09
hello,
while designing any low pass filter we specify
f= remez(234,[0 0.3 0.5 1],[ 1 1 0 0]);
we write [0 0.3 0.5 1] instead of [ o *pi, 0.3*pi, 0.5* pi, 1* pi]
saying that we are using normalised frequency.
but according to the definition of normalised frequency it is the frequency
divided by the sampling frequency.
so do these definitions clash?
and I want to remove 50 hz noise in my signal. so while designing filter
how should I normalise it?
thnx