DSP First. Laboratory Exercise #11. Extracting Frequencies of Musical Tones

Size: px
Start display at page:

Download "DSP First. Laboratory Exercise #11. Extracting Frequencies of Musical Tones"

Transcription

1 DSP First Laboratory Exercise #11 Extracting Frequencies of Musical Tones This lab is built around a single project that involves the implementation of a system for automatically writing a musical score by analyzing the frequency content of a recording (a sampled signal). A primary component of such a system is the spectrogram which produces a time-frequency representation of the recorded waveform. However, to make a working system, several other processing components are needed after the spectrogram to extract the important information related to the notes. The design of these additional blocks will lead naturally to a deeper understanding of what the spectrogram actually represents. 1 Overview In Chapter 9 we introduced the spectrogram as an important tool for time-frequency analysis. We also gave two viewpoints that aid in understanding the spectrogram: a filter bank structure and a sliding-window FFT structure. The filter bank view helps to explain frequency resolution, which can be related to the bandwidth of the channel filters. The FFT view is more useful when discussing computational issues. For music signals the spectrogram tends to produce an image with only a few peaks. Finding these peaks and identifying their frequencies and durations is the main issue in this lab. A Matlab GUI for showing the spectrogram along with musical notation is available for experimentation. In order to make the project manageable, we will progress through several different signal types while testing. These include: 1. Sine waves at a specific frequency. 2. Sine waves that make up a C-major scale. Music GUI 3. Sinusoids that create the tune for Twinkle, Twinkle Little Star. 4. A piano rendition of Twinkle, Twinkle Little Star. 5. Other recorded songs are available for processing: Jesu, Joy of Man s Desiring, Minuet in G, Beethoven s Fifth and Für Elise. 2 Warm-up: System Components In the warmup we will investigate several M-files needed to build the complete processing chain. The instructor verification sheet is included at the end of this lab. 2.1 Spectrogram Computation In Matlab there is already a function for calculating the spectrogram, but it is not always available since it is part of the Signal Processing Toolbox. A similar function is included as part of the DSP First Toolbox, and we have preserved the same list of arguments. The calling format for either specgram is the following: [B,T,F] = specgram( xx, Nfft, fs, window, Noverlap ) Recorded Songs 1

2 where xx is the input signal, Nfft is the FFT length, fs is the sampling frequency, window is a column vector containing the coefficients of the window, and Noverlap is the number of points in the overlapped part of consecutive sections. The outputs are the spectrogram matrix B, a vector T containing the time locations of the windowed segments, 1 and a vector F which contains the list of scaled frequencies corresponding to the spectrogram analysis. The vectors T and F are useful for labeling plots. Both are scaled by the sampling frequency so the units are seconds for T, and hertz for F. The spectrogram B contains complex values and its size is such that it has a column length (number of rows) equal to length(f) and a row length equal to length(t). IntheDSP First implementation, the calling program must provide all of the arguments. The Matlab function, on the other hand, allows the caller to omit arguments, but that just adds complexity in the programming. In this section, we will present the steps in a spectrogram calculation, so that you could write your own function. The preferred viewpoint for calculation is that of a sliding-window FFT. In this implementation, we take a segment of the signal of length L, multiply the segment by a window, and then compute a zero-padded N-point FFT to form one column of the spectrogram matrix. Then the starting point of the data segment is moved over by an amount L N overlap and the process is repeated. Eventually, we run out of data and the spectrogram is complete. For a Matlab program, we need to write a while loop that tests whether any signal remains. The following example shows all the code needed for the inner loop: B = zeros( Nfft/2 + 1, num_segs ); %- Pre-allocate the matrix L = length(window) %-- assuming a user generated window iseg = 0; while( ) %<==== FILL IN THE TEST CONDITION nstart = 1 + iseg*(l-noverlap); xsegw = window.* xx( nstart:nstart+l-1 ); %-- xx is a column XX = fft( xsegw, Nfft ); iseg = iseg + 1; B(:,iseg) = XX(1:Nfft/2+1); end specgram.m Explain how each of the steps in the spectrogram are being calculated. Explain how to calculate the number of segments num segs ahead of time. Also, explain the purpose of the last line in the while loop. And finally, determine a test that can be used to terminate the while loop. Instructor Verification (separate page) 2.2 Generating the Window The call to specgram requires a window of length L. One possibility is the rectangular window consisting of all ones, but a better window is that for the Hann filter. The rectangular window corresponds to a running-sum filter. The definition of the Hann window is ( ) 2πn w[n] = cos n=1,2,...l (1) L +1 1 There are several conventions for defining the time: (1) start of the segment, (2) middle of the segment, or (3) end of the segment. The middle choice probably makes the most sense, but it really doesn t matter in this project because only relative times will be significant. 2

3 There are some variations on this definition, but the one given here omits end points that would be zero. Write a function that will generate the Hann window, making sure that it returns a column vector. Then you can use this when calling your specgram function. Make a plot of the Hann window for L = 64. Instructor Verification (separate page) 2.3 Display the Spectrogram The display of the specgram output can be done with the Matlab function imagesc or with the DSP First function show img. On a computer monitor the spectrogram display can use color so that low-level details can be seen, but the conventional printout is a gray scale image with black indicating large values. In addition, if the gray level is proportional to the magnitude of B, small details may be lost, so it might advantages to convert to a logarithmic scale covering 30 or 40 db (called log mag ). Finally, the default orientation in Matlab is a matrix orientation with the origin in the upper left-hand corner. To change this orientation so that the origin is in the lower left-hand corner, use axis xy. The following code fragment summarizes the display: if (LOG) %-- assume LOG is a true/false variable B = 20*log10( abs(b) ); %-- ignore log(0) warnings dbmax = 30; B = B - max(abs(b(:))) + dbmax; B = B.*(B>0); %-- db range is now 0 <= B <= dbmax. else B = abs(b); end imagesc( T, F, B ); colormap(1-gray(256)); axis xy; show img.m 2.4 Finding Peaks Although it might be easy to spot peaks in the spectrogram visually, it is much harder to write a computer program to extract the same peaks reliably. This first step in the process, however, is to just extract all the peaks. Then we can follow this up with an editing program that removes extraneous peaks. The peak-picking function only needs to do one-dimensional picking along the frequency axis because the music spectrogram has a definite horizontal bias the tones last for a long duration along the time (horizontal) axis. If we scan each column of the B(k, l) matrix for peaks, we can merge peaks from neighboring columns to see if a note is present and also determine how long it lasts. A one-dimensional peak-picker is available in the function pkpick.m whose help comments are given below: function [peaks, locs] = pkpick( xx, thresh, number ) %PKPICKER pick out the peaks in a vector % Usage: [peaks,locs] = pkpick( xx, thresh, number ) % peaks : peak values % locs : location of peaks (index within a column) % xx : input data (if complex, operate on mag) % thresh : reject peaks below this level % number : max number of peaks to return 3 pkpick.m

4 % Test that pkpick.m works as you expect by generating a cosine wave and finding its peaks. Instructor Verification (separate page) An unexpected problem with peak picking is the quantization of the frequency axis. The peakpicking function will give an output that is on the grid of possible frequencies. If we need to estimate the peak location between these grid points, interpolation is needed. The function pkinterp.m is available for that purpose. 3 Design of the Music Writing System The complete system for writing the music is quite complicated, so we follow the engineering practice of breaking the system down into smaller, more manageable, components. 3.1 Block Diagram for the System x[n] Spectrogram IMAGE Peak Picking LIST Editing & Merging KEY # Write Notes SHEET MUSIC Figure 1: Block diagram of major components in music writing system. Figure 1 shows the major sub-systems needed to extract enough information from a musical recording to write the sheet music for that input. Each of these should be implemented as a separate Matlab function. 3.2 Write a Spectrogram Function Use the code fragment above as the basis for writing your own specgram function. Test your function by having it compute the spectrogram of a sine wave. The display should be one horizontal line at the frequency of the sinusoid. 3.3 Parameters of the Spectrogram Window Length: Derive a resolution requirement for separating notes, so that you can specify a window length. The resolution must be converted from continuous-time frequency (in Hz) to discrete-time frequency: ˆω =2π f f s FFT Length: Use a power of two FFT for efficiency. A long FFT will give more frequencies and reduce the gridding problem for peak interpolation. Overlap: Determine the time spacing needed to find the duration of notes. Be careful when making the time spacing very small because the amount of computation will increase dramatically. 4

5 3.4 Peak Picking & Editing The peak picking operation is relatively straightforward to implement only the number of peaks and a threshold need to be specified. If the threshold is too low, the editing phase will have to deal will many extraneous peaks. The peak picker should generate a list consisting of triplets (frequency, time, amplitude). The function pkpick.m provided in Section 2.4 will only find peaks with one vector, so it must be modified to find peaks as a function of both time and frequency. Editing is the crucial step and also the hardest to specify. Unlike the spectrogram which is a well-defined calculation with only a couple of parameters to adjust, the editing process can take many different forms. The editing system must take a list of frequency-time-amplitude triplets generated by the peak-picker and eliminate many of them based on rules that are derived from common sense. The following issues should be considered: 1. Frequency: (a) How close is the frequency to one of the allowable frequencies of the piano keys. (b) The harmonics must be eliminated, but there are cases where an octave is played, so the second harmonic might be allowed. In addition, when the song has both bass and treble sections, note frequencies can be 4 or 8 times each other. 2. Time: (a) Check the duration; is it a half note, quarter note, etc? This requires that peaks be merged and tracked along the time axis. (b) Timing of the notes. We expect the notes to start at regular times because the music has a rate, such as 2/4 time, or 4/4 time. (c) In fact, an interesting sidelight project would be to extract the beat of the music. This might help to establish a time base for the song, and help set the parameters of the expected durations. (d) There is a minimum duration unless we have a piece with lots of special effects, trills, grace notes, etc. 3. Amplitude: (a) Keep the strongest ones, but how many? (b) If we also look in the time domain, the attack could be found. This is the sharp rise in amplitude at the beginning of a note. 3.5 Writing the Musical Score The output of the editing process should be a list of key numbers and durations that define the music. We have provided a function wrinotes.m that will create a Matlab image that has the notes in the musical score. Consult the help for wrinotes.m to learn the data structure that is needed for its input. wrinotes.m 4 Testing the Music Extraction Program This project is relatively complicated and testing will not be easy. However, several test files are available, progressing very easy cases to difficult ones. You should run your program on the following four test cases: 5

6 1. Sine waves at a specific frequency. 2. Sine waves that make up a C-major scale. 3. Sinusoids that create the tune for Twinkle, Twinkle Little Star. 4. A piano rendition of Twinkle, Twinkle Little Star. In each case, you know what the true answer should be, so you can assess the capabilities of your music writer. All the piano songs are sampled at khz. Alternate songs are: Jesu, Joy of Man s Desiring, Minuet in G, Beethoven s Fifth, and Für Elise. Each of these will be quite difficult and challenging, unless your editing logic is very sophisticated. Remember that the objective of the lab is to make a working system containing the major components listed in Fig. 1. Even with a few simple tests, you should learn quite a bit about the spectrogram, its strengths and its shortcomings. 6

7 Lab 11 Instructor Verification Sheet Staple this page to the end of your Lab Report. Name: Date: Part 2.1 Complete and explain spectrogram code: Verified: Part 2.2 Write a function to return a Hanning window: Verified: Part 2.4 Test the peak picking function: Verified: 7

Signal Processing First Lab 20: Extracting Frequencies of Musical Tones

Signal Processing First Lab 20: Extracting Frequencies of Musical Tones Signal Processing First Lab 20: Extracting Frequencies of Musical Tones Pre-Lab and Warm-Up: You should read at least the Pre-Lab and Warm-up sections of this lab assignment and go over all exercises in

More information

DSP First. Laboratory Exercise #7. Everyday Sinusoidal Signals

DSP First. Laboratory Exercise #7. Everyday Sinusoidal Signals DSP First Laboratory Exercise #7 Everyday Sinusoidal Signals This lab introduces two practical applications where sinusoidal signals are used to transmit information: a touch-tone dialer and amplitude

More information

Lab P-4: AM and FM Sinusoidal Signals. We have spent a lot of time learning about the properties of sinusoidal waveforms of the form: ) X

Lab P-4: AM and FM Sinusoidal Signals. We have spent a lot of time learning about the properties of sinusoidal waveforms of the form: ) X DSP First, 2e Signal Processing First Lab P-4: AM and FM Sinusoidal Signals Pre-Lab and Warm-Up: You should read at least the Pre-Lab and Warm-up sections of this lab assignment and go over all exercises

More information

DSP First Lab 03: AM and FM Sinusoidal Signals. We have spent a lot of time learning about the properties of sinusoidal waveforms of the form: k=1

DSP First Lab 03: AM and FM Sinusoidal Signals. We have spent a lot of time learning about the properties of sinusoidal waveforms of the form: k=1 DSP First Lab 03: AM and FM Sinusoidal Signals Pre-Lab and Warm-Up: You should read at least the Pre-Lab and Warm-up sections of this lab assignment and go over all exercises in the Pre-Lab section before

More information

George Mason University ECE 201: Introduction to Signal Analysis

George Mason University ECE 201: Introduction to Signal Analysis Due Date: Week of May 01, 2017 1 George Mason University ECE 201: Introduction to Signal Analysis Computer Project Part II Project Description Due to the length and scope of this project, it will be broken

More information

GEORGIA INSTITUTE OF TECHNOLOGY. SCHOOL of ELECTRICAL and COMPUTER ENGINEERING

GEORGIA INSTITUTE OF TECHNOLOGY. SCHOOL of ELECTRICAL and COMPUTER ENGINEERING GEORGIA INSTITUTE OF TECHNOLOGY SCHOOL of ELECTRICAL and COMPUTER ENGINEERING ECE 2026 Summer 2018 Lab #3: Synthesizing of Sinusoidal Signals: Music and DTMF Synthesis Date: 7 June. 2018 Pre-Lab: You should

More information

Princeton ELE 201, Spring 2014 Laboratory No. 2 Shazam

Princeton ELE 201, Spring 2014 Laboratory No. 2 Shazam Princeton ELE 201, Spring 2014 Laboratory No. 2 Shazam 1 Background In this lab we will begin to code a Shazam-like program to identify a short clip of music using a database of songs. The basic procedure

More information

DSP First. Laboratory Exercise #2. Introduction to Complex Exponentials

DSP First. Laboratory Exercise #2. Introduction to Complex Exponentials DSP First Laboratory Exercise #2 Introduction to Complex Exponentials The goal of this laboratory is gain familiarity with complex numbers and their use in representing sinusoidal signals as complex exponentials.

More information

GEORGIA INSTITUTE OF TECHNOLOGY SCHOOL of ELECTRICAL and COMPUTER ENGINEERING. ECE 2025 Fall 1999 Lab #7: Frequency Response & Bandpass Filters

GEORGIA INSTITUTE OF TECHNOLOGY SCHOOL of ELECTRICAL and COMPUTER ENGINEERING. ECE 2025 Fall 1999 Lab #7: Frequency Response & Bandpass Filters GEORGIA INSTITUTE OF TECHNOLOGY SCHOOL of ELECTRICAL and COMPUTER ENGINEERING ECE 2025 Fall 1999 Lab #7: Frequency Response & Bandpass Filters Date: 12 18 Oct 1999 This is the official Lab #7 description;

More information

STANFORD UNIVERSITY. DEPARTMENT of ELECTRICAL ENGINEERING. EE 102B Spring 2013 Lab #05: Generating DTMF Signals

STANFORD UNIVERSITY. DEPARTMENT of ELECTRICAL ENGINEERING. EE 102B Spring 2013 Lab #05: Generating DTMF Signals STANFORD UNIVERSITY DEPARTMENT of ELECTRICAL ENGINEERING EE 102B Spring 2013 Lab #05: Generating DTMF Signals Assigned: May 3, 2013 Due Date: May 17, 2013 Remember that you are bound by the Stanford University

More information

Signal Analysis. Young Won Lim 2/9/18

Signal Analysis. Young Won Lim 2/9/18 Signal Analysis Copyright (c) 2016 2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later

More information

DSP First Lab 08: Frequency Response: Bandpass and Nulling Filters

DSP First Lab 08: Frequency Response: Bandpass and Nulling Filters DSP First Lab 08: Frequency Response: Bandpass and Nulling Filters Pre-Lab and Warm-Up: You should read at least the Pre-Lab and Warm-up sections of this lab assignment and go over all exercises in the

More information

Signal Analysis. Young Won Lim 2/10/18

Signal Analysis. Young Won Lim 2/10/18 Signal Analysis Copyright (c) 2016 2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later

More information

LAB 2 Machine Perception of Music Computer Science 395, Winter Quarter 2005

LAB 2 Machine Perception of Music Computer Science 395, Winter Quarter 2005 1.0 Lab overview and objectives This lab will introduce you to displaying and analyzing sounds with spectrograms, with an emphasis on getting a feel for the relationship between harmonicity, pitch, and

More information

Digital Video and Audio Processing. Winter term 2002/ 2003 Computer-based exercises

Digital Video and Audio Processing. Winter term 2002/ 2003 Computer-based exercises Digital Video and Audio Processing Winter term 2002/ 2003 Computer-based exercises Rudolf Mester Institut für Angewandte Physik Johann Wolfgang Goethe-Universität Frankfurt am Main 6th November 2002 Chapter

More information

ECE 2026 Summer 2016 Lab #08: Detecting DTMF Signals

ECE 2026 Summer 2016 Lab #08: Detecting DTMF Signals GEORGIA INSTITUTE OF TECHNOLOGY SCHOOL of ELECTRICAL and COMPUTER ENGINEERING ECE 2026 Summer 2016 Lab #08: Detecting DTMF Signals Date: 14 July 2016 Pre-Lab: You should read the Pre-Lab section of the

More information

Basic Signals and Systems

Basic Signals and Systems Chapter 2 Basic Signals and Systems A large part of this chapter is taken from: C.S. Burrus, J.H. McClellan, A.V. Oppenheim, T.W. Parks, R.W. Schafer, and H. W. Schüssler: Computer-based exercises for

More information

Laboratory Assignment 2 Signal Sampling, Manipulation, and Playback

Laboratory Assignment 2 Signal Sampling, Manipulation, and Playback Laboratory Assignment 2 Signal Sampling, Manipulation, and Playback PURPOSE This lab will introduce you to the laboratory equipment and the software that allows you to link your computer to the hardware.

More information

DSP First Lab 06: Digital Images: A/D and D/A

DSP First Lab 06: Digital Images: A/D and D/A DSP First Lab 06: Digital Images: A/D and D/A Pre-Lab and Warm-Up: You should read at least the Pre-Lab and Warm-up sections of this lab assignment and go over all exercises in the Pre-Lab section before

More information

GEORGIA INSTITUTE OF TECHNOLOGY. SCHOOL of ELECTRICAL and COMPUTER ENGINEERING. ECE 2026 Summer 2018 Lab #8: Filter Design of FIR Filters

GEORGIA INSTITUTE OF TECHNOLOGY. SCHOOL of ELECTRICAL and COMPUTER ENGINEERING. ECE 2026 Summer 2018 Lab #8: Filter Design of FIR Filters GEORGIA INSTITUTE OF TECHNOLOGY SCHOOL of ELECTRICAL and COMPUTER ENGINEERING ECE 2026 Summer 2018 Lab #8: Filter Design of FIR Filters Date: 19. Jul 2018 Pre-Lab: You should read the Pre-Lab section of

More information

ECEn 487 Digital Signal Processing Laboratory. Lab 3 FFT-based Spectrum Analyzer

ECEn 487 Digital Signal Processing Laboratory. Lab 3 FFT-based Spectrum Analyzer ECEn 487 Digital Signal Processing Laboratory Lab 3 FFT-based Spectrum Analyzer Due Dates This is a three week lab. All TA check off must be completed by Friday, March 14, at 3 PM or the lab will be marked

More information

Biomedical Signals. Signals and Images in Medicine Dr Nabeel Anwar

Biomedical Signals. Signals and Images in Medicine Dr Nabeel Anwar Biomedical Signals Signals and Images in Medicine Dr Nabeel Anwar Noise Removal: Time Domain Techniques 1. Synchronized Averaging (covered in lecture 1) 2. Moving Average Filters (today s topic) 3. Derivative

More information

Armstrong Atlantic State University Engineering Studies MATLAB Marina Sound Processing Primer

Armstrong Atlantic State University Engineering Studies MATLAB Marina Sound Processing Primer Armstrong Atlantic State University Engineering Studies MATLAB Marina Sound Processing Primer Prerequisites The Sound Processing Primer assumes knowledge of the MATLAB IDE, MATLAB help, arithmetic operations,

More information

Lab 3 FFT based Spectrum Analyzer

Lab 3 FFT based Spectrum Analyzer ECEn 487 Digital Signal Processing Laboratory Lab 3 FFT based Spectrum Analyzer Due Dates This is a three week lab. All TA check off must be completed prior to the beginning of class on the lab book submission

More information

Limitations of Sum-of-Sinusoid Signals

Limitations of Sum-of-Sinusoid Signals Limitations of Sum-of-Sinusoid Signals I So far, we have considered only signals that can be written as a sum of sinusoids. x(t) =A 0 + N Â A i cos(2pf i t + f i ). i=1 I For such signals, we are able

More information

THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering. EIE2106 Signal and System Analysis Lab 2 Fourier series

THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering. EIE2106 Signal and System Analysis Lab 2 Fourier series THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering EIE2106 Signal and System Analysis Lab 2 Fourier series 1. Objective The goal of this laboratory exercise is to

More information

Electrical & Computer Engineering Technology

Electrical & Computer Engineering Technology Electrical & Computer Engineering Technology EET 419C Digital Signal Processing Laboratory Experiments by Masood Ejaz Experiment # 1 Quantization of Analog Signals and Calculation of Quantized noise Objective:

More information

Lab S-7: Spectrograms of AM and FM Signals. 2. Study the frequency resolution of the spectrogram for two closely spaced sinusoids.

Lab S-7: Spectrograms of AM and FM Signals. 2. Study the frequency resolution of the spectrogram for two closely spaced sinusoids. DSP First, 2e Signal Processing First Lab S-7: Spectrograms of AM and FM Signals Pre-Lab: Read the Pre-Lab and do all the exercises in the Pre-Lab section prior to attending lab. Verification: The Exercise

More information

Lab S-5: DLTI GUI and Nulling Filters. Please read through the information below prior to attending your lab.

Lab S-5: DLTI GUI and Nulling Filters. Please read through the information below prior to attending your lab. DSP First, 2e Signal Processing First Lab S-5: DLTI GUI and Nulling Filters Pre-Lab: Read the Pre-Lab and do all the exercises in the Pre-Lab section prior to attending lab. Verification: The Exercise

More information

Laboratory Assignment 4. Fourier Sound Synthesis

Laboratory Assignment 4. Fourier Sound Synthesis Laboratory Assignment 4 Fourier Sound Synthesis PURPOSE This lab investigates how to use a computer to evaluate the Fourier series for periodic signals and to synthesize audio signals from Fourier series

More information

Lab 8: Frequency Response and Filtering

Lab 8: Frequency Response and Filtering Lab 8: Frequency Response and Filtering Pre-Lab and Warm-Up: You should read at least the Pre-Lab and Warm-up sections of this lab assignment and go over all exercises in the Pre-Lab section before going

More information

Here are some of Matlab s complex number operators: conj Complex conjugate abs Magnitude. Angle (or phase) in radians

Here are some of Matlab s complex number operators: conj Complex conjugate abs Magnitude. Angle (or phase) in radians Lab #2: Complex Exponentials Adding Sinusoids Warm-Up/Pre-Lab (section 2): You may do these warm-up exercises at the start of the lab period, or you may do them in advance before coming to the lab. You

More information

Lab P-8: Digital Images: A/D and D/A

Lab P-8: Digital Images: A/D and D/A DSP First, 2e Signal Processing First Lab P-8: Digital Images: A/D and D/A Pre-Lab: Read the Pre-Lab and do all the exercises in the Pre-Lab section prior to attending lab. Verification: The Warm-up section

More information

L A B 3 : G E N E R A T I N G S I N U S O I D S

L A B 3 : G E N E R A T I N G S I N U S O I D S L A B 3 : G E N E R A T I N G S I N U S O I D S NAME: DATE OF EXPERIMENT: DATE REPORT SUBMITTED: 1/7 1 THEORY DIGITAL SIGNAL PROCESSING LABORATORY 1.1 GENERATION OF DISCRETE TIME SINUSOIDAL SIGNALS IN

More information

Lab S-4: Convolution & FIR Filters. Please read through the information below prior to attending your lab.

Lab S-4: Convolution & FIR Filters. Please read through the information below prior to attending your lab. DSP First, 2e Signal Processing First Lab S-4: Convolution & FIR Filters Pre-Lab: Read the Pre-Lab and do all the exercises in the Pre-Lab section prior to attending lab. Verification: The Exercise section

More information

Fourier Series and Gibbs Phenomenon

Fourier Series and Gibbs Phenomenon Fourier Series and Gibbs Phenomenon University Of Washington, Department of Electrical Engineering This work is produced by The Connexions Project and licensed under the Creative Commons Attribution License

More information

Topic 2. Signal Processing Review. (Some slides are adapted from Bryan Pardo s course slides on Machine Perception of Music)

Topic 2. Signal Processing Review. (Some slides are adapted from Bryan Pardo s course slides on Machine Perception of Music) Topic 2 Signal Processing Review (Some slides are adapted from Bryan Pardo s course slides on Machine Perception of Music) Recording Sound Mechanical Vibration Pressure Waves Motion->Voltage Transducer

More information

Lab 4 Fourier Series and the Gibbs Phenomenon

Lab 4 Fourier Series and the Gibbs Phenomenon Lab 4 Fourier Series and the Gibbs Phenomenon EE 235: Continuous-Time Linear Systems Department of Electrical Engineering University of Washington This work 1 was written by Amittai Axelrod, Jayson Bowen,

More information

ECE 201: Introduction to Signal Analysis

ECE 201: Introduction to Signal Analysis ECE 201: Introduction to Signal Analysis Prof. Paris Last updated: October 9, 2007 Part I Spectrum Representation of Signals Lecture: Sums of Sinusoids (of different frequency) Introduction Sum of Sinusoidal

More information

Signal segmentation and waveform characterization. Biosignal processing, S Autumn 2012

Signal segmentation and waveform characterization. Biosignal processing, S Autumn 2012 Signal segmentation and waveform characterization Biosignal processing, 5173S Autumn 01 Short-time analysis of signals Signal statistics may vary in time: nonstationary how to compute signal characterizations?

More information

Signal Processing First Lab 02: Introduction to Complex Exponentials Multipath. x(t) = A cos(ωt + φ) = Re{Ae jφ e jωt }

Signal Processing First Lab 02: Introduction to Complex Exponentials Multipath. x(t) = A cos(ωt + φ) = Re{Ae jφ e jωt } Signal Processing First Lab 02: Introduction to Complex Exponentials Multipath Pre-Lab and Warm-Up: You should read at least the Pre-Lab and Warm-up sections of this lab assignment and go over all exercises

More information

George Mason University ECE 201: Introduction to Signal Analysis Spring 2017

George Mason University ECE 201: Introduction to Signal Analysis Spring 2017 Assigned: March 7, 017 Due Date: Week of April 10, 017 George Mason University ECE 01: Introduction to Signal Analysis Spring 017 Laboratory Project #7 Due Date Your lab report must be submitted on blackboard

More information

Lab S-3: Beamforming with Phasors. N r k. is the time shift applied to r k

Lab S-3: Beamforming with Phasors. N r k. is the time shift applied to r k DSP First, 2e Signal Processing First Lab S-3: Beamforming with Phasors Pre-Lab: Read the Pre-Lab and do all the exercises in the Pre-Lab section prior to attending lab. Verification: The Exercise section

More information

Spectrum Analysis: The FFT Display

Spectrum Analysis: The FFT Display Spectrum Analysis: The FFT Display Equipment: Capstone, voltage sensor 1 Introduction It is often useful to represent a function by a series expansion, such as a Taylor series. There are other series representations

More information

LABORATORY - FREQUENCY ANALYSIS OF DISCRETE-TIME SIGNALS

LABORATORY - FREQUENCY ANALYSIS OF DISCRETE-TIME SIGNALS LABORATORY - FREQUENCY ANALYSIS OF DISCRETE-TIME SIGNALS INTRODUCTION The objective of this lab is to explore many issues involved in sampling and reconstructing signals, including analysis of the frequency

More information

Lab 6: Sampling, Convolution, and FIR Filtering

Lab 6: Sampling, Convolution, and FIR Filtering Lab 6: Sampling, Convolution, and FIR Filtering Pre-Lab and Warm-Up: You should read at least the Pre-Lab and Warm-up sections of this lab assignment and go over all exercises in the Pre-Lab section prior

More information

The Discrete Fourier Transform. Claudia Feregrino-Uribe, Alicia Morales-Reyes Original material: Dr. René Cumplido

The Discrete Fourier Transform. Claudia Feregrino-Uribe, Alicia Morales-Reyes Original material: Dr. René Cumplido The Discrete Fourier Transform Claudia Feregrino-Uribe, Alicia Morales-Reyes Original material: Dr. René Cumplido CCC-INAOE Autumn 2015 The Discrete Fourier Transform Fourier analysis is a family of mathematical

More information

DSP First. Laboratory Exercise #4. AM and FM Sinusoidal Signals

DSP First. Laboratory Exercise #4. AM and FM Sinusoidal Signals DSP First Laboratory Exercise #4 AM and FM Sinusoidal Signals The objective of this lab is to introduce more complicated signals that are related to the basic sinusoid. These are signals which implement

More information

THE CITADEL THE MILITARY COLLEGE OF SOUTH CAROLINA. Department of Electrical and Computer Engineering. ELEC 423 Digital Signal Processing

THE CITADEL THE MILITARY COLLEGE OF SOUTH CAROLINA. Department of Electrical and Computer Engineering. ELEC 423 Digital Signal Processing THE CITADEL THE MILITARY COLLEGE OF SOUTH CAROLINA Department of Electrical and Computer Engineering ELEC 423 Digital Signal Processing Project 2 Due date: November 12 th, 2013 I) Introduction In ELEC

More information

ECEGR Lab #8: Introduction to Simulink

ECEGR Lab #8: Introduction to Simulink Page 1 ECEGR 317 - Lab #8: Introduction to Simulink Objective: By: Joe McMichael This lab is an introduction to Simulink. The student will become familiar with the Help menu, go through a short example,

More information

Lecture 5: Pitch and Chord (1) Chord Recognition. Li Su

Lecture 5: Pitch and Chord (1) Chord Recognition. Li Su Lecture 5: Pitch and Chord (1) Chord Recognition Li Su Recap: short-time Fourier transform Given a discrete-time signal x(t) sampled at a rate f s. Let window size N samples, hop size H samples, then the

More information

1 Introduction and Overview

1 Introduction and Overview DSP First, 2e Lab S-0: Complex Exponentials Adding Sinusoids Signal Processing First Pre-Lab: Read the Pre-Lab and do all the exercises in the Pre-Lab section prior to attending lab. Verification: The

More information

Integrators, differentiators, and simple filters

Integrators, differentiators, and simple filters BEE 233 Laboratory-4 Integrators, differentiators, and simple filters 1. Objectives Analyze and measure characteristics of circuits built with opamps. Design and test circuits with opamps. Plot gain vs.

More information

Lab S-8: Spectrograms: Harmonic Lines & Chirp Aliasing

Lab S-8: Spectrograms: Harmonic Lines & Chirp Aliasing DSP First, 2e Signal Processing First Lab S-8: Spectrograms: Harmonic Lines & Chirp Aliasing Pre-Lab: Read the Pre-Lab and do all the exercises in the Pre-Lab section prior to attending lab. Verification:

More information

Discrete Fourier Transform (DFT)

Discrete Fourier Transform (DFT) Amplitude Amplitude Discrete Fourier Transform (DFT) DFT transforms the time domain signal samples to the frequency domain components. DFT Signal Spectrum Time Frequency DFT is often used to do frequency

More information

Waveshaping Synthesis. Indexing. Waveshaper. CMPT 468: Waveshaping Synthesis

Waveshaping Synthesis. Indexing. Waveshaper. CMPT 468: Waveshaping Synthesis Waveshaping Synthesis CMPT 468: Waveshaping Synthesis Tamara Smyth, tamaras@cs.sfu.ca School of Computing Science, Simon Fraser University October 8, 23 In waveshaping, it is possible to change the spectrum

More information

Fall Music 320A Homework #2 Sinusoids, Complex Sinusoids 145 points Theory and Lab Problems Due Thursday 10/11/2018 before class

Fall Music 320A Homework #2 Sinusoids, Complex Sinusoids 145 points Theory and Lab Problems Due Thursday 10/11/2018 before class Fall 2018 2019 Music 320A Homework #2 Sinusoids, Complex Sinusoids 145 points Theory and Lab Problems Due Thursday 10/11/2018 before class Theory Problems 1. 15 pts) [Sinusoids] Define xt) as xt) = 2sin

More information

EE 464 Short-Time Fourier Transform Fall and Spectrogram. Many signals of importance have spectral content that

EE 464 Short-Time Fourier Transform Fall and Spectrogram. Many signals of importance have spectral content that EE 464 Short-Time Fourier Transform Fall 2018 Read Text, Chapter 4.9. and Spectrogram Many signals of importance have spectral content that changes with time. Let xx(nn), nn = 0, 1,, NN 1 1 be a discrete-time

More information

The Fundamentals of Mixed Signal Testing

The Fundamentals of Mixed Signal Testing The Fundamentals of Mixed Signal Testing Course Information The Fundamentals of Mixed Signal Testing course is designed to provide the foundation of knowledge that is required for testing modern mixed

More information

Laboratory Experiment #1 Introduction to Spectral Analysis

Laboratory Experiment #1 Introduction to Spectral Analysis J.B.Francis College of Engineering Mechanical Engineering Department 22-403 Laboratory Experiment #1 Introduction to Spectral Analysis Introduction The quantification of electrical energy can be accomplished

More information

Experiment No. 2 Pre-Lab Signal Mixing and Amplitude Modulation

Experiment No. 2 Pre-Lab Signal Mixing and Amplitude Modulation Experiment No. 2 Pre-Lab Signal Mixing and Amplitude Modulation Read the information presented in this pre-lab and answer the questions given. Submit the answers to your lab instructor before the experimental

More information

From Fourier Series to Analysis of Non-stationary Signals - VII

From Fourier Series to Analysis of Non-stationary Signals - VII From Fourier Series to Analysis of Non-stationary Signals - VII prof. Miroslav Vlcek November 23, 2010 Contents Short Time Fourier Transform 1 Short Time Fourier Transform 2 Contents Short Time Fourier

More information

Experiments #6. Convolution and Linear Time Invariant Systems

Experiments #6. Convolution and Linear Time Invariant Systems Experiments #6 Convolution and Linear Time Invariant Systems 1) Introduction: In this lab we will explain how to use computer programs to perform a convolution operation on continuous time systems and

More information

Signal Processing First Lab 02: Introduction to Complex Exponentials Direction Finding. x(t) = A cos(ωt + φ) = Re{Ae jφ e jωt }

Signal Processing First Lab 02: Introduction to Complex Exponentials Direction Finding. x(t) = A cos(ωt + φ) = Re{Ae jφ e jωt } Signal Processing First Lab 02: Introduction to Complex Exponentials Direction Finding Pre-Lab and Warm-Up: You should read at least the Pre-Lab and Warm-up sections of this lab assignment and go over

More information

Problem Set 1 (Solutions are due Mon )

Problem Set 1 (Solutions are due Mon ) ECEN 242 Wireless Electronics for Communication Spring 212 1-23-12 P. Mathys Problem Set 1 (Solutions are due Mon. 1-3-12) 1 Introduction The goals of this problem set are to use Matlab to generate and

More information

Lab P-10: Edge Detection in Images: UPC Decoding. Please read through the information below prior to attending your lab.

Lab P-10: Edge Detection in Images: UPC Decoding. Please read through the information below prior to attending your lab. DSP First, 2e Signal Processing First Lab P-10: Edge Detection in Images: UPC Decoding Pre-Lab: Read the Pre-Lab and do all the exercises in the Pre-Lab section prior to attending lab. Verification: The

More information

ME 365 EXPERIMENT 8 FREQUENCY ANALYSIS

ME 365 EXPERIMENT 8 FREQUENCY ANALYSIS ME 365 EXPERIMENT 8 FREQUENCY ANALYSIS Objectives: There are two goals in this laboratory exercise. The first is to reinforce the Fourier series analysis you have done in the lecture portion of this course.

More information

3.2 Measuring Frequency Response Of Low-Pass Filter :

3.2 Measuring Frequency Response Of Low-Pass Filter : 2.5 Filter Band-Width : In ideal Band-Pass Filters, the band-width is the frequency range in Hz where the magnitude response is at is maximum (or the attenuation is at its minimum) and constant and equal

More information

Introduction to DSP ECE-S352 Fall Quarter 2000 Matlab Project 1

Introduction to DSP ECE-S352 Fall Quarter 2000 Matlab Project 1 Objective: Introduction to DSP ECE-S352 Fall Quarter 2000 Matlab Project 1 This Matlab Project is an extension of the basic correlation theory presented in the course. It shows a practical application

More information

Lecture 7 Frequency Modulation

Lecture 7 Frequency Modulation Lecture 7 Frequency Modulation Fundamentals of Digital Signal Processing Spring, 2012 Wei-Ta Chu 2012/3/15 1 Time-Frequency Spectrum We have seen that a wide range of interesting waveforms can be synthesized

More information

ECE 5655/4655 Laboratory Problems

ECE 5655/4655 Laboratory Problems Assignment #5 ECE 5655/4655 Laboratory Problems Make Note of the Following: Due MondayApril 29, 2019 If possible write your lab report in Jupyter notebook If you choose to use the spectrum/network analyzer

More information

Solution Set for Mini-Project #2 on Octave Band Filtering for Audio Signals

Solution Set for Mini-Project #2 on Octave Band Filtering for Audio Signals EE 313 Linear Signals & Systems (Fall 2018) Solution Set for Mini-Project #2 on Octave Band Filtering for Audio Signals Mr. Houshang Salimian and Prof. Brian L. Evans 1- Introduction (5 points) A finite

More information

PHYSICS LAB. Sound. Date: GRADE: PHYSICS DEPARTMENT JAMES MADISON UNIVERSITY

PHYSICS LAB. Sound. Date: GRADE: PHYSICS DEPARTMENT JAMES MADISON UNIVERSITY PHYSICS LAB Sound Printed Names: Signatures: Date: Lab Section: Instructor: GRADE: PHYSICS DEPARTMENT JAMES MADISON UNIVERSITY Revision August 2003 Sound Investigations Sound Investigations 78 Part I -

More information

Sampling and Reconstruction of Analog Signals

Sampling and Reconstruction of Analog Signals Sampling and Reconstruction of Analog Signals Chapter Intended Learning Outcomes: (i) Ability to convert an analog signal to a discrete-time sequence via sampling (ii) Ability to construct an analog signal

More information

Lakehead University. Department of Electrical Engineering

Lakehead University. Department of Electrical Engineering Lakehead University Department of Electrical Engineering Lab Manual Engr. 053 (Digital Signal Processing) Instructor: Dr. M. Nasir Uddin Last updated on January 16, 003 1 Contents: Item Page # Guidelines

More information

School of Engineering and Information Technology ASSESSMENT COVER SHEET

School of Engineering and Information Technology ASSESSMENT COVER SHEET Student Name Student ID Assessment Title Unit Number and Title Lecturer/Tutor School of Engineering and Information Technology ASSESSMENT COVER SHEET Rajeev Subramanian S194677 Laboratory Exercise 3 report

More information

Lecture 3 Complex Exponential Signals

Lecture 3 Complex Exponential Signals Lecture 3 Complex Exponential Signals Fundamentals of Digital Signal Processing Spring, 2012 Wei-Ta Chu 2012/3/1 1 Review of Complex Numbers Using Euler s famous formula for the complex exponential The

More information

Structure of Speech. Physical acoustics Time-domain representation Frequency domain representation Sound shaping

Structure of Speech. Physical acoustics Time-domain representation Frequency domain representation Sound shaping Structure of Speech Physical acoustics Time-domain representation Frequency domain representation Sound shaping Speech acoustics Source-Filter Theory Speech Source characteristics Speech Filter characteristics

More information

Project 2 - Speech Detection with FIR Filters

Project 2 - Speech Detection with FIR Filters Project 2 - Speech Detection with FIR Filters ECE505, Fall 2015 EECS, University of Tennessee (Due 10/30) 1 Objective The project introduces a practical application where sinusoidal signals are used to

More information

DFT: Discrete Fourier Transform & Linear Signal Processing

DFT: Discrete Fourier Transform & Linear Signal Processing DFT: Discrete Fourier Transform & Linear Signal Processing 2 nd Year Electronics Lab IMPERIAL COLLEGE LONDON Table of Contents Equipment... 2 Aims... 2 Objectives... 2 Recommended Textbooks... 3 Recommended

More information

Pre-Lab. Introduction

Pre-Lab. Introduction Pre-Lab Read through this entire lab. Perform all of your calculations (calculated values) prior to making the required circuit measurements. You may need to measure circuit component values to obtain

More information

Study of Analog Phase-Locked Loop (APLL)

Study of Analog Phase-Locked Loop (APLL) Laboratory Exercise 9. (Last updated: 18/1/013, Tamás Krébesz) Study of Analog Phase-Locked Loop (APLL) Required knowledge Operation principle of analog phase-locked-loop (APLL) Operation principle of

More information

PROBLEM SET 6. Note: This version is preliminary in that it does not yet have instructions for uploading the MATLAB problems.

PROBLEM SET 6. Note: This version is preliminary in that it does not yet have instructions for uploading the MATLAB problems. PROBLEM SET 6 Issued: 2/32/19 Due: 3/1/19 Reading: During the past week we discussed change of discrete-time sampling rate, introducing the techniques of decimation and interpolation, which is covered

More information

Topic. Spectrogram Chromagram Cesptrogram. Bryan Pardo, 2008, Northwestern University EECS 352: Machine Perception of Music and Audio

Topic. Spectrogram Chromagram Cesptrogram. Bryan Pardo, 2008, Northwestern University EECS 352: Machine Perception of Music and Audio Topic Spectrogram Chromagram Cesptrogram Short time Fourier Transform Break signal into windows Calculate DFT of each window The Spectrogram spectrogram(y,1024,512,1024,fs,'yaxis'); A series of short term

More information

Discrete Fourier Transform

Discrete Fourier Transform 6 The Discrete Fourier Transform Lab Objective: The analysis of periodic functions has many applications in pure and applied mathematics, especially in settings dealing with sound waves. The Fourier transform

More information

Chapter 5 Window Functions. periodic with a period of N (number of samples). This is observed in table (3.1).

Chapter 5 Window Functions. periodic with a period of N (number of samples). This is observed in table (3.1). Chapter 5 Window Functions 5.1 Introduction As discussed in section (3.7.5), the DTFS assumes that the input waveform is periodic with a period of N (number of samples). This is observed in table (3.1).

More information

DCSP-10: DFT and PSD. Jianfeng Feng. Department of Computer Science Warwick Univ., UK

DCSP-10: DFT and PSD. Jianfeng Feng. Department of Computer Science Warwick Univ., UK DCSP-10: DFT and PSD Jianfeng Feng Department of Computer Science Warwick Univ., UK Jianfeng.feng@warwick.ac.uk http://www.dcs.warwick.ac.uk/~feng/dcsp.html DFT Definition: The discrete Fourier transform

More information

Log Booklet for EE2 Experiments

Log Booklet for EE2 Experiments Log Booklet for EE2 Experiments Vasil Zlatanov DFT experiment Exercise 1 Code for sinegen.m function y = sinegen(fsamp, fsig, nsamp) tsamp = 1/fsamp; t = 0 : tsamp : (nsamp-1)*tsamp; y = sin(2*pi*fsig*t);

More information

Lab P-3: Introduction to Complex Exponentials Direction Finding. zvect( [ 1+j, j, 3-4*j, exp(j*pi), exp(2j*pi/3) ] )

Lab P-3: Introduction to Complex Exponentials Direction Finding. zvect( [ 1+j, j, 3-4*j, exp(j*pi), exp(2j*pi/3) ] ) DSP First, 2e Signal Processing First Lab P-3: Introduction to Complex Exponentials Direction Finding Pre-Lab and Warm-Up: You should read at least the Pre-Lab and Warm-up sections of this lab assignment

More information

SMS045 - DSP Systems in Practice. Lab 1 - Filter Design and Evaluation in MATLAB Due date: Thursday Nov 13, 2003

SMS045 - DSP Systems in Practice. Lab 1 - Filter Design and Evaluation in MATLAB Due date: Thursday Nov 13, 2003 SMS045 - DSP Systems in Practice Lab 1 - Filter Design and Evaluation in MATLAB Due date: Thursday Nov 13, 2003 Lab Purpose This lab will introduce MATLAB as a tool for designing and evaluating digital

More information

Lab S-1: Complex Exponentials Source Localization

Lab S-1: Complex Exponentials Source Localization DSP First, 2e Signal Processing First Lab S-1: Complex Exponentials Source Localization Pre-Lab: Read the Pre-Lab and do all the exercises in the Pre-Lab section prior to attending lab. Verification: The

More information

Frequency Division Multiplexing Spring 2011 Lecture #14. Sinusoids and LTI Systems. Periodic Sequences. x[n] = x[n + N]

Frequency Division Multiplexing Spring 2011 Lecture #14. Sinusoids and LTI Systems. Periodic Sequences. x[n] = x[n + N] Frequency Division Multiplexing 6.02 Spring 20 Lecture #4 complex exponentials discrete-time Fourier series spectral coefficients band-limited signals To engineer the sharing of a channel through frequency

More information

Project 0: Part 2 A second hands-on lab on Speech Processing Frequency-domain processing

Project 0: Part 2 A second hands-on lab on Speech Processing Frequency-domain processing Project : Part 2 A second hands-on lab on Speech Processing Frequency-domain processing February 24, 217 During this lab, you will have a first contact on frequency domain analysis of speech signals. You

More information

ECE438 - Laboratory 7a: Digital Filter Design (Week 1) By Prof. Charles Bouman and Prof. Mireille Boutin Fall 2015

ECE438 - Laboratory 7a: Digital Filter Design (Week 1) By Prof. Charles Bouman and Prof. Mireille Boutin Fall 2015 Purdue University: ECE438 - Digital Signal Processing with Applications 1 ECE438 - Laboratory 7a: Digital Filter Design (Week 1) By Prof. Charles Bouman and Prof. Mireille Boutin Fall 2015 1 Introduction

More information

George Mason University Signals and Systems I Spring 2016

George Mason University Signals and Systems I Spring 2016 George Mason University Signals and Systems I Spring 2016 Laboratory Project #4 Assigned: Week of March 14, 2016 Due Date: Laboratory Section, Week of April 4, 2016 Report Format and Guidelines for Laboratory

More information

Experiment No. 6. Audio Tone Control Amplifier

Experiment No. 6. Audio Tone Control Amplifier Experiment No. 6. Audio Tone Control Amplifier By: Prof. Gabriel M. Rebeiz The University of Michigan EECS Dept. Ann Arbor, Michigan Goal: The goal of Experiment #6 is to build and test a tone control

More information

Orthonormal bases and tilings of the time-frequency plane for music processing Juan M. Vuletich *

Orthonormal bases and tilings of the time-frequency plane for music processing Juan M. Vuletich * Orthonormal bases and tilings of the time-frequency plane for music processing Juan M. Vuletich * Dept. of Computer Science, University of Buenos Aires, Argentina ABSTRACT Conventional techniques for signal

More information

2 Oscilloscope Familiarization

2 Oscilloscope Familiarization Lab 2 Oscilloscope Familiarization What You Need To Know: Voltages and currents in an electronic circuit as in a CD player, mobile phone or TV set vary in time. Throughout the course you will investigate

More information

GE U111 HTT&TL, Lab 1: The Speed of Sound in Air, Acoustic Distance Measurement & Basic Concepts in MATLAB

GE U111 HTT&TL, Lab 1: The Speed of Sound in Air, Acoustic Distance Measurement & Basic Concepts in MATLAB GE U111 HTT&TL, Lab 1: The Speed of Sound in Air, Acoustic Distance Measurement & Basic Concepts in MATLAB Contents 1 Preview: Programming & Experiments Goals 2 2 Homework Assignment 3 3 Measuring The

More information

CHAPTER 4 IMPLEMENTATION OF ADALINE IN MATLAB

CHAPTER 4 IMPLEMENTATION OF ADALINE IN MATLAB 52 CHAPTER 4 IMPLEMENTATION OF ADALINE IN MATLAB 4.1 INTRODUCTION The ADALINE is implemented in MATLAB environment running on a PC. One hundred data samples are acquired from a single cycle of load current

More information