Question
Procedure: Download the SpectrumAnalyzer function SpectrumAnalyzer.m from the website. Instructions for using SpectrumAnalyzer SpectrumAnalyzer(ArrayYouWishToAnalyze,SamplingFrequency ) Output is a plot in dB showing the output FFT.
Procedure:
Download the SpectrumAnalyzer function SpectrumAnalyzer.m from the website. Instructions for using SpectrumAnalyzer
SpectrumAnalyzer(ArrayYouWishToAnalyze,SamplingFrequency) Output is a plot in dB showing the output FFT.
Create a series of sinusoids.
Create a 10 second time axis, sampling every 0.0001 seconds (Fs=10000 Hz).
Create and plot about 10 cycles of y= cos (2**f0*t) where t is your time axis and
f0 is 200 Hz.
Now try to visualize it in the spectral domain by using
SpectrumAnalyzer(y,10000). Note that there are 2 lines at 200 Hz and
200 Hz
Listen to the sound by using the soundsc(y,10000) function
Create another sinusoid at the second harmonic of the sinusoid (400Hz). Plot it on the same graph as the first, and play it using your sound card.
Visualize it using the SpectrumAnalyzer Function. Now you will see a pair of lines at 400 and -400 Hz.
Plot on the same graph as before
Createasquarewavefromthesinusoids,aftereachstepplotasmallsection,andrun
the spectrum Analyzer function.
Add first harmonic term you crated +(sin(k*/2)/k)*cos(k*2** f0*t) for k=3
now do it for k=1,3,5 (using the scaling coefficient on each term)
now do it for k=1,3,5,7 (etc)
now do it for k=1,3,5,7,9,11,13
Use a for loop with a pause to do 21 harmonics (only odd).
Comment on the squareness of the output as a function of the number of harmonics that you use. Play it on your sound card using the soundsc(y,Fs) and listen to the difference.
C. RemovealltheHarmonicsusingalowpassfilter.
Design a filter to remove all harmonics from the square wave with the
exception of the first. Let Fs=10000 Hz, Pass band = 220 Hz, stop band =300
Hz
Export the coefficients to workspace (Num)
Run y=filter(Num,1,SquareWave) to remove harmonics. Plot and listen on
your sound card. Run through the spectrum analyzer and compare to part A.
D. Look at a song in the time and frequency domain. Type Load Handel. This will create an array (y,Fs) where y has the music and Fs is the sampling frequency 8192 Hz.
play the song using your sound card
look at the song in the frequency domain using spectrumanalyzer
look at the first 10000 points in the time domain.
Speed the music, play using sound card at Fs=12000
Design a low pass filter to pass frequencies from 0 to 2000 Hz.
Follow the procedure from before and filter your waveform, plot the spectrum and listen to the output. It does not sound so good anymore.
SpectrumAnalyzer is below:
function SpectrumAnalyzer(InputArray,Fs)
Yaxis=abs(fftshift(fft(InputArray)));
Yaxis=Yaxis.*Yaxis;
v=size(Yaxis);
if v(1)==1
V=size(Yaxis,2);
Xaxis=-Fs/2+Fs/V:Fs/V:(Fs/2);
else
V=v(1);
Xaxis=-Fs/2+Fs/V:Fs/V:(Fs/2);
Xaxis=Xaxis.';
end
Yaxis=10*log10(Yaxis*4/(V.*V));
figure
plot(Xaxis,Yaxis)
xlabel('Frequency (Hz)')
ylabel('Power')
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started