## Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

week

1. (20 pts) Spectral Peak Estimation (a) (10 pts) Construct a program to ﬁnd the frequencies (in Hz) and the magnitudes (in time domain normalized linear amplitude) of the positive frequency peaks of an input DFT of a given signal, using the code skeleton shown below. Be sure to use the function you made in hw3 for converting matlab frequency index numbers to frequencies in Hz.

function [peaks,freqs]=findpeaks(Xwdb,maxPeaks,fs,win,N) % peaks = a vector containing the peak magnitude estimates (linear) using % parabolic interpolation in order from largest to smallest peak. % freqs = a vector containing the frequency estimates (Hz) corresponding % to the peaks defined above % Xwdb = DFT vector of a windowed signal in dB. NOTE that it may contain only % the lower frequency or positive frequency parts of the DFT % maxPeaks = the number of peaks we are looking for % fs = sampling frequency in Hz % win = the window used to obtain Xwdb (for unbiased amplitude estimate) % N = NFFT, the number of points in the transform %-- Find all peaks (magnitudes and indices) by comparing each point of ---% %-- magnitude spectrum with its two neighbors ---% allPeaks = []; for i=2:length(Xwdb)-1 ... ... end

%-- Order from largest to smallest magnitude, keep only maxPeaks of them --% peaks = ... %-- Do parabolic interpolation in dB magnitude to find more accurate peak --% %-- and frequency estimates --% for i=1:maxPeaks idx=find(Xwdb==peaks(i)); %parabolic interpolation a=Xwdb(idx-1); b=Xwdb(idx);

1

c=Xwdb(idx+1); ... ... end %-- Return linear amplitude and frequency in Hz --% % NOTE that we must use knowledge of the window to normalize amplitude here % if we have a TD cosine of amplitude 0.6, this output should be 0.6 peaks = ... freqs = ...

(b) (4 pts) Test your findpeaks.m function on a length-255, 400-Hz cosine having amplitude 1 and no phase oﬀset, i.e., x(n) = cos(2π · 400nT ), n = −127, . . . , 127.

(Implicitly, a rectangular window of the same length is used here). Use your zero phase zero pad window function to extend the signal to length 2048 before peak detection. Let the sampling rate be fs = 8000 Hz. Show your plot of the magnitude spectrum with the peak found clearly marked. Also plot the phase spectrum. You should see a zero-phase result because we have a zero phase cosine that is zero phase windowed. Do not forget that in this course (and elsewhere) the term “zero phase” tranform means a real transform. In such a case we may still have phase of ±π because this simply suggests a negative real number. Also, remember that matlab may give you some microscopic phase due to round oﬀ error when it actually intends zero. Here is some code to get you started: subplot(211); plot(abs(fft(zpzpwin(cos(2*pi*400/8000*(-127:127)’),boxcar(255),2048)))); subplot(212); plot(angle(fft(zpzpwin(cos(2*pi*400/8000*(-127:127)’),boxcar(255),2048)))); (c) (3 pts) Download s1.wav1 from the homework assignments page. Find the amplitudes and frequencies of each component in the signal. You need not zero phase window the signal, nor should you zero pad it. Just use a rectangle window whose length is the same of the signal. To avoid getting NaN in your spectrum due to the log of zero, use something like: Xwdb = 20*log10(abs(Xlinear)+eps); . (d) (3 pts) Again, with s1.wav but now using the Hamming window of length equal to that of x(n) (255 samples) and with the same amount of zero-padding (to length 2048), ﬁnd the frequency and amplitude estimates. Do you expect the estimates to be better in the case of Hamming window here? Why or why not? 2. (14 pts) Simple Pitch Estimation: In this problem, you will be estimating the pitch of an oboe sound, again using the findpeaks function from a prior problem. This problem is also concerned with the resolvability of the spectral peaks under diﬀerent windows.

1

http://ccrma.stanford.edu/˜jos/hw421/hw4/s1.wav

2

(a) Download the sound ﬁle oboe.ff.C4B4.wav2 and the Matlab ﬁles oboeanal.m3 and dbn.m4 into your directory. To ensure compatibility of your ﬁndpeaks() function (which uses window type knowledge to normalize amplitudes), change lines 25 and 66 of oboeanal.m to Xdb = 20*log10(abs(Xzp(prange))+eps); and Xwdb = 20*log10(abs(Xwzp(prange))+eps); respectively. Also to ensure compatibility, make sure your arguments in ﬁndpeaks() include N and fs but not binsize. (b) (4 pts) Run the program oboeanal.m. Make sure you have your findpeaks function working already. Verify that the pitch estimate agrees with the plot. Explain what peak is used to estimate the pitch. (c) (4 pts) Comment on the resolvability of peaks for the three windows. (d) (6 pts) Modify the code on line 54, changing K to (K − 1) and then (K + 1) in order to vary the length of the signal under the windows. (NOTE: this line of code is after the window name has already been chosen, and currently contains only a comment line. Do NOT change K before this comment line. Note that some of the plots may then extend above 0 dB. Do not worry; you can zoom in on them anyway.) Comment on the resulting resolvability. Which case is more resolvable and amenable to spectral peak analysis? 3. (4 pts) Show that pink noise has the same average power in any octave. 4. (5 pts) If digital white noise (with a power spectral density equal to 1 at all frequencies) is ﬁltered by the length 2 FIR ﬁlter h = [1, 1], what are the (a) autocorrelation function and (b) power spectral density? 5. (6 pts) Find the (cyclic) unbiased autocorrelation of the following sequences in R 8 : (a) [1,0,0,0,0,0,0,0] (b) [1,1,0,0,0,0,0,0] (c) [1,1,1,1,0,0,0,0] (d) [1,1,1,1,1,1,1,1] 6. (3 pts) Let e(n) denote a sample of white noise. Then its power spectral density S e (ω) is constant from −π to π. By the stretch/repeat theorem, the signal x = Stretch 2 (e) also has a constant power spectral density, yet every other sample is constrained to be zero. Is x(n) also white noise? Explain. 7. (20 pts) Bartlett Autocorrelation (a) (10 pts) Write a matlab function acorrtd.m that implements Bartlett-windowed autocorrelation estimates in the time domain (see the “Biased Sample Autocorrelation5 ” section of the text) (4 pts). Also write acorrfd.m that implements the

http://ccrma.stanford.edu/˜jos/hw421/hw4/oboe.ﬀ.C4B4.wav http://ccrma.stanford.edu/˜jos/hw421/hw4/oboeanal.m 4 http://ccrma.stanford.edu/˜jos/hw421/hw4/dbn.m 5 http://ccrma.stanford.edu/˜jos/sasp/Biased Sample Autocorrelation.html

3 2

3

same thing in the frequency domain (see the correlation theorem in SASP) (3 pts). Verify that both methods give the same result by computing the autocorrelation of a sample of white noise (3 pts). Turn in your matlab listings and test results. (b) (5 pts) Download the sound ﬁle fnoise.wav.6 It has been synthesized as ﬁltered white noise. Referring to section 2.12.2 of SASP, compute and plot the (a) sample power spectral density and (b) Bartlett-windowed autocorrelation, using Welch’s √ method with M = K ≈ N , where N is the length of fnoise.wav in samples, M is the window length used, and K is the number of signal blocks which are averaged together. In Welch’s method, please use a trivial rectangular window with hop size R = M . Note that the term “Bartlett-windowed” in this problem refers to an autocorrelation method rather than a Welch’s method window type. In your work, do not use any functions in the Matlab Signal Processing Tool Box (but you may consult them). Turn in all matlab listings and a copy of the plots produced. (c) (5 pts) Determine the impulse response of the FIR ﬁlter used in the previous item. [Hint: It takes on only two nonzero values.] [Hint 2: Take a look at the unbiased autocorrelation.] 8. (5 pts) Use the matlab function zpfmin.m7 to ﬁnd minimum zero-padding factors (for use with quadratic peak interpolation) such that the peak-frequency bias will be less than 1 Hz at frequencies 62.5, 125, 250, 500, and 1000 Hz, for the rectangular, Hann, Hamming, and Blackman window types. Assume one period of the fundamental frequency in the window (as a worst-case condition). [Hint: your results for 1000 Hz should be essentially the same as that in the table8 in the lecture overheads listing zero-padding factors for keeping the bias below 0.1%.]

6

7

http://ccrma.stanford.edu/˜jos/hw421/hw4/fnoise.wav http://ccrma.stanford.edu/˜jos/hw421/hw4/zpfmin.m 8 http://ccrma.stanford.edu/˜jos/SpecAnal/Example Minimum Zero Padding Factors.html

4

- Early Detection.pdfuploaded byباسل ديوب
- Collision Between Platform Deck and Service Vessel Wheelhouseuploaded byYusuf
- test2soluploaded byaltwirqi
- Triflex Brochureuploaded byAdelCh
- Pulsed Microactuators for High-Speed Flowuploaded byNiraj Panthi
- earthquakeuploaded bydominic amalesh
- Pfft Max/MSPuploaded byIoana Tăleanu
- System Identification Using Associated Linear Equationsuploaded bysumatrablackcoffee453
- Fourier Series and Spectrauploaded byHarshit Goyal
- Performance Monitoringuploaded byDien Huynh
- EE337 Digital Signal Processing Nov Dec 20O6uploaded bysateesh83
- correlation techniquesuploaded bymenguemengue
- 06_chapter 3 (2)uploaded byptejaswini904439
- This Article Concerns Signal Processing and Relation of Spectra to Timeuploaded byMelia Rossa
- 4 - 1 - 4.6 - Relationship Between Transforms [15-43]uploaded byKobina Hammond
- Digital Signal Processing - Department of Electrical and Electronics Engineeringuploaded byBizura Saruma
- eeeuploaded bykvinothscet
- 2013 Spectral and Spatial Multichannel Analysis/Synthesis of Interior Aircraft Soundsuploaded byPhilippe-Aubert Gauthier
- 4uploaded byfikret
- Spectrogramuploaded byAM12345
- Washington Hospital Seismic Studyuploaded byRomoex R Rock
- 54-098uploaded bymarut1999
- 4-4-2018Powerqualityuploaded bypratap sekhar Puhan
- Bioacoustic Characteristic of Male Dolphins Bottle Nose (Tursiops aduncus )uploaded byMuhammadZainuddinLubis
- Digital Signal Processing_Syllabus and Other Detailsuploaded byAbhishek Pandey
- 2 BAHAN MINGGU KE 2 Digital Kontroller(Plus Soal Latihan)uploaded byFhyras Ayatullah
- Selection of Appropriate Input Motion for Foundation Design in Seismic Areasuploaded bybr_jaya
- lab 4uploaded byTrung Hoang Phan
- 3-4-2018 Power qualityuploaded bypratap sekhar Puhan
- cd6601_84uploaded byBodongKorengan

- test file text 1uploaded byjamesyu
- 03-26 Entry Door Copy 4uploaded byjamesyu
- Parse Presentationuploaded byjamesyu
- Restaurants To Tryuploaded byjamesyu
- 03-26 Entry Door Copy 11uploaded byjamesyu
- REST Cheatsheetuploaded byjamesyu
- 01 My Great Novel With Numbersuploaded byjamesyu
- test file text 1uploaded byjamesyu
- Facebook Connect for Web Startups Design Guideuploaded byjamesyu
- 03-26 Entry Door copy 9uploaded byjamesyu
- 01 My Great Noveluploaded byjamesyu
- Menu at Sebo in San Franciscouploaded byjamesyu
- 01 thisisthebestuploaded byjamesyu
- 01 My Great Noveluploaded byjamesyu
- 01 My Great Novel With Numbersuploaded byjamesyu
- 03-26 Entry Door Copy 12uploaded byjamesyu
- 03-26 Entry Door Copy 14uploaded byjamesyu
- 03-26 Entry Door Copy 17uploaded byjamesyu
- 03-26 Entry Door Copy 16uploaded byjamesyu
- iPaper Animation -- Stick Figure Drawinguploaded byjamesyu
- 03-26 Entry Door Copy 9uploaded byjamesyu
- 03-26 Entry Door Copy 9uploaded byjamesyu
- 03-26 Entry Door Copy 15uploaded byjamesyu
- 03-26 Entry Door Copy 9uploaded byjamesyu
- PDF Testuploaded byjamesyu
- 03-26 Entry Door copy 9uploaded byjamesyu
- 03-26 Entry Door Copy 13uploaded byjamesyu
- 03-26 Entry Door copy 12uploaded byjamesyu
- 03-26 Entry Door Copy 8uploaded byjamesyu
- 03-26 Entry Door Copy 14uploaded byjamesyu

Read Free for 30 Days

Cancel anytime.

Close Dialog## Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

Loading