Description

1. The problem

This project involves designing and implementing a narrow double notch filter to remove two undesired tones from an audio signal while leaving most of the signal untouched. In particular, we have a band-limited audio signal sampled sampling period of T=1/8192 seconds. This is a speech clip with a bandwidth of that of a phone signal. The digital signal can be found in the data file x.mat. The original analog signal is corrupted by the tones created by a phone when pressing the number 1. The tones created originally had continuous-time frequencies of f1=697 Hz and f2=1209 Hz. You can listen to the file in MATLAB after loading it (using >>load x.mat), using the command >>sound(x,Fs).

You are going to process the sampled signal to remove the tones while keeping as much of the signal intact as possible. A discrete double notch filter with two pairs of finite poles and two pairs of finite zeros must be designed to surgically eliminate these undesired tones from the signal (using the pole-zero placement filter design method).

Once you know where you want your poles and zeros, specify H(z) and derive your system difference equation from H(z). Implement the system and processing the data in the file x.mat. Use the filter() command or put the difference equation for the system in a loop. Convince yourself the system is performing correctly by listening to the output signal.

2 attachmentsSlide 1 of 2attachment_1attachment_1attachment_2attachment_2

Unformatted Attachment Preview

ECE 425/525 Double Notch Filter Project

1. The problem

This project involves designing and implementing a narrow double notch filter to

remove two undesired tones from an audio signal while leaving most of the signal

untouched. In particular, we have a band-limited audio signal sampled sampling period

of T=1/8192 seconds. This is a speech clip with a bandwidth of that of a phone signal.

The digital signal can be found in the data file x.mat. The original analog signal is

corrupted by the tones created by a phone when pressing the number 1. The tones

created originally had continuous-time frequencies of f1=697 Hz and f2=1209 Hz. You

can listen to the file in MATLAB after loading it (using >>load x.mat), using the

command >>sound(x,Fs).

You are going to process the sampled signal to remove the tones while keeping as much

of the signal intact as possible. A discrete double notch filter with two pairs of finite

poles and two pairs of finite zeros must be designed to surgically eliminate these

undesired tones from the signal (using the pole-zero placement filter design method).

Once you know where you want your poles and zeros, specify H(z) and derive your

system difference equation from H(z). Implement the system and processing the data

in the file x.mat. Use the filter() command or put the difference equation for the system

in a loop. Convince yourself the system is performing correctly by listening to the

output signal.

2. What to include in your Answer

➢

➢

➢

➢

The Design Steps.

The poles and zeros values

Your Matlab code.

Conclusion

Hints

1. Remove the annoyed tones from the signals, the frequencies for these tone are

f1 = 697HZ & f2 = 1209 HZ,

In order to do that the zeros values are calculated from both frequencies.

Therefore, we need to calculate Omega values first Ω1 = 2πf1 & Ω2 = 2πf2.

Then Omegs should be convert to degrees ω1 = Ω1*T, ω2 = Ω2*T in radians

ω1|deg = ω1|rad* 180/π, ω2|deg = ω2|rad* 180/π

2. Calculate the Zeros from the following equations

Z1 = cos (ω1) + j sin(ω1),

Z2 is the conjugate of Z1

Z3 = cos (ω2) + j sin(ω2),

Z4 is the conjugate of Z2

3. Draw the zeros in the unit circle and locating the poles near the zeros and

inside the unit circle to guarantee that it’s a stable transfer function (TF),

4.

Draw the location of poles, as shown in figure (1); it’s easy to determine their

values.

This not the right values

Z1 = 0.9 + 0.5i, Z2 = 0.9 – 0.5i, Z3 = 0.7 + 0.6i, Z4 =0.7 – 0.6i

P1=0.86+j*0.48, P2=0.86-j*0.48, P3=0.67+j*0.57 and P4= 0.67+j*0.57.

The values of poles and zeros are complex numbers with their conjugates to

affect the frequency in both sides or to make an even frequency response. The

Transfer Function can be defined by its poles and zeros.

ω1 = Ω*180/π

b=poly([Z1 Z2 Z3 Z4])

a=poly([P1 P2 P3 P4])

a(1)y[n]+a(2)y[n-1]+a(3)y[n-2]+…..+ a(N+1)y[n-N]=

b(1)x[n]+ b(2)x[n-1]+b(3)x[n-2]+…..+ b(1)x[n-M]

filtfilt command to build a filter and use sound

listen to the output signal

Use

Purchase answer to see full

attachment

User generated content is uploaded by users for the purposes of learning and should be used following Studypool’s honor code & terms of service.