Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

the following code should be done in MATLAB: using the code attached below for the A2_Prob_2b.m file. %%%% BMEN 3350, Assignment 2: Problem 2(b) clear

the following code should be done in MATLAB: using the code attached below for the A2_Prob_2b.m file.

image text in transcribedimage text in transcribed

%%%% BMEN 3350, Assignment 2: Problem 2(b)

clear all; clc;

global arraySize arrayWithLatestValues samplingRate;

arraySize = 500;

arrayWithLatestValues = zeros(1,arraySize);

samplingRate = 50; % in sps (sampling rate of the ADC)

f = 2.8;

rateOfDetectingFrequency = 1; % Number of times/sec you'll run "fn_detectFrequency" to compute the frequency

threshold = 2.6;

hysteresisWindowLength = 1;

numberOfCyclesToAverage = 1;

%%% Create source signal:

maxTime = 10; % in seconds

numberOfSamples = round( maxTime * samplingRate );

simulated_raw_ADC_outputs = 2048 + 1500 * cos(2*pi*f*[0:numberOfSamples-1]*(1/samplingRate)) + 1000*rand(1,numberOfSamples);

index2 = 1;

for index1 = 1:numberOfSamples

newValue = (3.3/4095) * simulated_raw_ADC_outputs(index1);

fn_updateArray(newValue); %% WRITE THIS FUNCTION IN A SEPARATE .m FILE

if mod( index1 , round(samplingRate/rateOfDetectingFrequency) ) == 0

currentFrequency = fn_detectFrequency(threshold,hysteresisWindowLength,numberOfCyclesToAverage ); %% WRITE THIS FUNCTION IN A SEPARATE .m FILE

detectedFreqArray(:,index2) = [currentFrequency;index1];

index2 = index2 + 1;

end

end

figure;

subplot(2,1,1);

plot((3.3/4095) * simulated_raw_ADC_outputs);

xlabel('Sample Index');

ylabel('Input Voltage');

axis([1 numberOfSamples 0 3.3]);

grid on;

title(['Frequency = ' num2str(f) ' , F_s = ' num2str(samplingRate)]);

subplot(2,1,2);

plot(detectedFreqArray(2,:),detectedFreqArray(1,:),'ro');

xlabel('Sample Index');

ylabel('Detected Frequency');

axis([1 numberOfSamples 0 ceil(max( detectedFreqArray(1,:) )+1)]);

grid on;

Problem 2 (60 points): In this problem, you will simulate an analog noisy periodic signal, sample the signal and convert it to a digital signal, and write a function to detect the frequency of the original signal. You MUST attach all your codes with your report. Problem 2 (60 points): In this problem, you will simulate an analog noisy periodic signal, sample the signal and convert it to a digital signal, and write a function to detect the frequency of the original signal. You MUST attach all your codes with your report

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions