1. ## MatLab Filter help.

Hey everyone, I'm trying to get prepped from my EE Professional Engineering exam and there is a question that I cannot solve in the prep-guide. I'm hoping that someone might be able to help because it can be solved in MatLab (as noted in the book). Here is the problem description:

You are an engineer working at a major automotive manufacturer that offers a back-up/obstacle-detection system using sensors installed in the rear bumper. The sensors emit an ultrasonic signal ranging from 40-50 KHz. When an object is present, some of the ultrasonic signal is reflected back and the system will alert to driver to the obstacle. In minimal signal required for this detection is -70dBuV. The amplitude of the returned signal is indicative of the object's size.

Alongside the system, there is an electronic module radiating noise at 75 KHz. The level of this noise can be as high as -60dBuV. In order for this back-up system to function properly, the noise must be 15 dB below the desired signal. Note that the impedance and load impedance is 50 Ohms.

Problem:

Part A. Design an analog filter that will eliminate the impact of the noise on the system in a cost effective manner. Note any impacts that the filter may have on the back-up system.

Part B. Implement an Infinite Impulse Response (IIR) digital filter based on the analog filter in Part A. [Utilize MatLab]

Part C. Implement a Finite Impulse Response (FIR) digital filter that will eliminate the impact of the noise on the system. [Utilize MatLab]

I really appreciate any help that you all would have to offer! This is the one problem that I haven't been able to solve in the manual!

Thank you!

2. ## Re: MatLab Filter help! - P.E. Practice Problem

Originally Posted by Samson
Hey everyone, I'm trying to get prepped from my EE Professional Engineering exam and there is a question that I cannot solve in the prep-guide. I'm hoping that someone might be able to help because it can be solved in MatLab (as noted in the book). Here is the problem description:

You are an engineer working at a major automotive manufacturer that offers a back-up/obstacle-detection system using sensors installed in the rear bumper. The sensors emit an ultrasonic signal ranging from 40-50 KHz. When an object is present, some of the ultrasonic signal is reflected back and the system will alert to driver to the obstacle. In minimal signal required for this detection is -70dBuV. The amplitude of the returned signal is indicative of the object's size.

Alongside the system, there is an electronic module radiating noise at 75 KHz. The level of this noise can be as high as -60dBuV. In order for this back-up system to function properly, the noise must be 15 dB below the desired signal. Note that the impedance and load impedance is 50 Ohms.

Problem:

Part A. Design an analog filter that will eliminate the impact of the noise on the system in a cost effective manner. Note any impacts that the filter may have on the back-up system.

Part B. Implement an Infinite Impulse Response (IIR) digital filter based on the analog filter in Part A. [Utilize MatLab]

Part C. Implement a Finite Impulse Response (FIR) digital filter that will eliminate the impact of the noise on the system. [Utilize MatLab]

I really appreciate any help that you all would have to offer! This is the one problem that I haven't been able to solve in the manual!

Thank you!
Use the filter design tools, you want to design a bandpass filters with pass band 40-50 kHz with no more than -25dB response at 75 kHz.

CB

3. ## Re: MatLab Filter help! - P.E. Practice Problem

Originally Posted by CaptainBlack
Use the filter design tools, you want to design a bandpass filters with pass band 40-50 kHz with no more than -25dB response at 75 kHz.

CB
Hello CB,

I'm still kind of getting used to MatLab. How do I utilize such tools? Would I be able to apply what you have noted above to both the IIR and the FIR examples?

The first part is to design the analog filter. Any insight on this step?

Thank you!

4. ## Re: MatLab Filter help! - P.E. Practice Problem

Hey Everyone, per Captain Black's Note, I put together the following code but I'm stuck! Please see below!

f_p=40000; %Pass Frequency in Hz

f_s=50000; %Stop Frequency in Hz

r_s=25; %Stopband Attenuation in dB

r_p=3; %Passband Ripple

d = fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2', 38e3,f_p,f_s,53e3,r_s,r_p,140e3);

%Fst1 — frequency at the edge of the end of the first stop band. Specified in normalized frequency units by default.

%Fp1 — frequency at the edge of the start of the pass band. Specified in normalized frequency units by default.

%Fp2 — frequency at the edge of the end of the pass band. Specified in normalized frequency units by default.

%Fst2 — frequency at the edge of the start of the second stop band. Specified in normalized frequency units by default.

%Ap — passband ripple in dB (the default units).

%Ast1 — attenuation in the first stopband in dB (the default units).

%Ast2 — attenuation in the second stopband in dB (the default units).

% Create the FIR filter

Hd2 = design(d,'equiripple'); fvtool(Hd2)

%Create the IIR filter

Hd1 = design(d,'butter'); fvtool(Hd1);

------------------------------------------------------------------

First off, does my methodology seem correct for creating an FIR and IIR filter that will accomplish this goal? Secondly, when I run the code, this is the error message I get:

??? Error using ==> fdesign.abstracttype.equiripple at 13 Frequency specifications must be between 0 and 1.

Error in ==> fdesign.abstracttype.superdesign at 106 Hd = feval(method, this, varargin{:});

Error in ==> fdesign.abstracttype.design at 11 varargout{1} = superdesign(this, varargin{:});

Error in ==> PEPractice at 13 Hd2 = design(d,'equiripple');

-----------------------------------------------------------------

5. ## Re: MatLab Filter help! - P.E. Practice Problem

Originally Posted by Samson
Hey Everyone, per Captain Black's Note, I put together the following code but I'm stuck! Please see below!

f_p=40000; %Pass Frequency in Hz

f_s=50000; %Stop Frequency in Hz

r_s=25; %Stopband Attenuation in dB

r_p=3; %Passband Ripple

d = fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2', 38e3,f_p,f_s,53e3,r_s,r_p,140e3);

%Fst1 — frequency at the edge of the end of the first stop band. Specified in normalized frequency units by default.

%Fp1 — frequency at the edge of the start of the pass band. Specified in normalized frequency units by default.

%Fp2 — frequency at the edge of the end of the pass band. Specified in normalized frequency units by default.

%Fst2 — frequency at the edge of the start of the second stop band. Specified in normalized frequency units by default.

%Ap — passband ripple in dB (the default units).

%Ast1 — attenuation in the first stopband in dB (the default units).

%Ast2 — attenuation in the second stopband in dB (the default units).

% Create the FIR filter

Hd2 = design(d,'equiripple'); fvtool(Hd2)

%Create the IIR filter

Hd1 = design(d,'butter'); fvtool(Hd1);

------------------------------------------------------------------

First off, does my methodology seem correct for creating an FIR and IIR filter that will accomplish this goal? Secondly, when I run the code, this is the error message I get:

??? Error using ==> fdesign.abstracttype.equiripple at 13 Frequency specifications must be between 0 and 1.

Error in ==> fdesign.abstracttype.superdesign at 106 Hd = feval(method, this, varargin{:});

Error in ==> fdesign.abstracttype.design at 11 varargout{1} = superdesign(this, varargin{:});

Error in ==> PEPractice at 13 Hd2 = design(d,'equiripple');

-----------------------------------------------------------------