You are on page 1of 7

# DSP log

Home
Blog
Analog
Channel
Coding
DSP
GATE
MIMO
Krishna
Sankar
Modulation
OFDM
Subscribe

by

## on July 14, 2013

In some designs, it may be required to have a digital filter which attenuates a single frequency component with the rest of the frequencies pass through. Filtering out of the pow
frequency signals in a wireless communication receivers etc are some possible scenarios. Such filters are called notch filters and this post goes over the digital notch filter desc
by Hirano, K.; Nishimura, S.; Mitra, S.K., in Communications, IEEE Transactions on , vol.22, no.7, pp.964,970, Jul 1974

Filter Design
The transfer function of an analog notch filter is
, where
is the notch frequency and
is the width of the notch.
Converting to a digital filter using bilinear transformation,

Let

where.

Summarizing,

## The value is,

.
To find the -3dB bandwidth frequency

## ** Note : Did not figure out the math.

Re-arranging and representing in terms of ,
.

.

## Representing as an All-Pass structure

The transfer function

represented with

and

is,

.
This can be alternately represented as,
,
where

Re-arranging,

Replacing

and ,

Block diagram
Multiple structures to implement the above equation is possible. One possible candidate having two delay elements and two multipliers is shown below.

Figure : Block diagram notch filter (Reference Figure 3(a) Hirano, K.; Nishimura, S.; Mitra, S.K., Design of Digi
vol.22, no.7, pp.964,970, Jul 1974)
Matab code
% Matlab code for plotting the frequency response of digital notch filter
% Implemented as all pass filter section
clear; close all
fs = 1e6;
fn = 200e3;
fb = 50e3;
omega0T = fn/(fs/2)*pi;
deltaT = fb/(fs/2)*pi;
a2 = (1-tan(deltaT/2))./(1+tan(deltaT/2));
a1 = (1+a2).*cos(omega0T);
B = [1 -a1 a2];
A = [a2 -a1 1];
[H1 W1] = freqz(B,A,1024,'whole');
[H2 W2] = freqz(1,1,1024,'whole');
H3 = (H1+H2)/2;
h = figure(1);
subplot(2,1,1);
plot([-512:511]/1024*fs/1e6,20*log10(fftshift(abs(H3))),'b-','LineWidth',4);
grid on; ylabel('amplitude, dB');
title('notch filter, fs=1MHz, fn=200kHz, fb=50kHz');
axis([-0.5 0.5 -50 10]);
subplot(2,1,2);
plot([-512:511]/1024*fs/1e6,(fftshift(angle(H3)*180/pi)),'m-','LineWidth',4);
grid on; xlabel('freq, MHz'); ylabel('angle, deg');
title('phase response');
axis([-0.5 0.5 -180 180]);

## Figure : Notch filter frequency and phase response

Reference
Hirano, K.; Nishimura, S.; Mitra, S.K., Design of Digital Notch Filters, Communications, IEEE Transactions on , vol.22, no.7, pp.964,970, Jul 1974
doi: 10.1109/TCOM.1974.1092311
URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1092311&isnumber=23820

Related posts:

Example of
Integrator Comb
filter in Matlab

Digital
implementation of
RC low pass filter

Raised cosine
filter for transmit
pulse shaping

Interpreting the
output of fft()
operation in
Matlab

## Tagged as: allpass, Filter, iir, notch

D id you like this article? Make sure that you do not miss a new article
Subscribing via e-mail entitles you to download the free e-Book on BER of BPS

MATLAB
Low Pass Filter
Notch Filter

## Chien Wang July 15, 2013 at 10:36 am

Hi Krishna,
I enjoyed reading your articles a lot, however, lately I could not see the math equations due to mimetex error, the actual error message is something like Only dsplog.com
found the following solution:
If you install mimeTeX on one server and try to use it from another, you may instead see messages like
In this case, compile mimetex.cgi with the -DNOREFCHECK switch, e.g.,
cc -DAA -DNOREFCHECK mimetex.c gifsave.c -lm -o mimetex.cgi
and read the -DREFLEVELS=n discussion under compile options.
Please try and update your local mimeTeX server with -DNOREFCHECK, if you intent to us see the math equations.
Thanks and best regards,
Chien

## Krishna Sankar July 15, 2013 at 2:57 pm

@Chien: Oh ! Thanks for letting know. I tried using multiple browsers (and computers) and was able to see the equations.
Can you please mail me the screenshot of the error krishna < \$AT\$> dsplog.com
In anycase, will check the mimeTex compile options and get this resolved.

Name *
E-mail *
Website

Submit

Connect with us

## Digital Notch filter

Bitwidth in CIC filter
GATE-2012 ECE Q10 (networks)
GATE-2012 ECE Q18 (signals)
Migrated to Amazon EC2 instance (from shared hosting)

Pi Filter
Error Code
Digital LC
Tag

16-PSK 16-QAM

802.11a

2012

Alamouti

## AWGN BPSK Capacity Communication

conference Digital

MMSE noise OFDM PAM pdf phase phase_noise PSK pulse shaping QAM raised cosine

## Symbol Error Rate (SER) for QPSK (4-QAM) modulation

(5.00 out of 5)
BER for BPSK in ISI channel with Zero Forcing equalization
(5.00 out of 5)
(5.00 out of 5)
Chi Square Random Variable
(5.00 out of 5)
Negative Frequency
(5.00 out of 5)
IQ imbalance in transmitter
(5.00 out of 5)
Using Toeplitz matrices in MATLAB
(5.00 out of 5)
Bit error rate for 16PSK modulation using Gray mapping
(5.00 out of 5)
Signal to quantization noise in quantized sinusoidal
(5.00 out of 5)
Zero-order hold and first-order hold based interpolation
(5.00 out of 5)

Select Category

Archives

Select Month

ECE electromagnetics

## Rayleigh SIC Signals STBC TETRA transmitter Viterbi ZF

Ratings

Categories

Diversity

GATE

Comment

gym clothing golf soccer Shoes for women nike on dspLog turns two! Happy Birthday!
american cars on Negative Frequency
ridham on 16QAM Bit Error Rate (BER) with Gray mapping
ridham on 16QAM Bit Error Rate (BER) with Gray mapping
Yanira on Inter Carrier Interference (ICI) in OFDM due to frequency offset
priya on BER for BPSK in OFDM with Rayleigh multipath channel
ziko on MIMO with MMSE equalizer
Top Rated posts

## Bit Error Rate (BER) for BPSK modulation - 62 votes

BER for BPSK in Rayleigh channel - 40 votes
BER for BPSK in OFDM with Rayleigh multipath channel - 38 votes
Maximal Ratio Combining (MRC) - 35 votes
MIMO with Zero Forcing equalizer - 24 votes
Understanding an OFDM transmission - 23 votes
MIMO with MMSE equalizer - 23 votes
Peak to Average Power Ratio for OFDM - 22 votes

No content on this site may be reused in any fashion without written permission from http://www.dspLog.com.

dspLog
Follow
+ 139

DSP

+1

ERROR

Complex to Real
DSP DesignLine
DSP Guide

## The requested URL

could not be
retrieved
While trying to retrieve the URL: