DSP First. Laboratory Exercise #11. Extracting Frequencies of Musical Tones
|
|
- Darren Harrington
- 6 years ago
- Views:
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 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 informationDSP 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 informationLab 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 informationDSP 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 informationGeorge 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 informationGEORGIA 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 informationPrinceton 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 informationDSP 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 informationGEORGIA 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 informationSTANFORD 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 informationSignal 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 informationDSP 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 informationSignal 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 informationLAB 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 informationDigital 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 informationECE 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 informationBasic 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 informationLaboratory 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 informationDSP 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 informationGEORGIA 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 informationECEn 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 informationBiomedical 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 informationArmstrong 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 informationLab 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 informationLimitations 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 informationTHE 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 informationElectrical & 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 informationLab 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 informationLab 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 informationLaboratory 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 informationLab 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 informationHere 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 informationLab 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 informationL 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 informationLab 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 informationFourier 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 informationTopic 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 informationLab 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 informationECE 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 informationSignal 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 informationSignal 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 informationGeorge 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 informationLab 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 informationSpectrum 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 informationLABORATORY - 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 informationLab 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 informationThe 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 informationDSP 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 informationTHE 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 informationECEGR 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 informationLecture 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 information1 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 informationIntegrators, 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 informationLab 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 informationDiscrete 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 informationWaveshaping 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 informationFall 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 informationEE 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 informationThe 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 informationLaboratory 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 informationExperiment 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 informationFrom 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 informationExperiments #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 informationSignal 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 informationProblem 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 informationLab 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 informationME 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 information3.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 informationIntroduction 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 informationLecture 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 informationECE 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 informationSolution 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 informationPHYSICS 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 informationSampling 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 informationLakehead 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 informationSchool 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 informationLecture 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 informationStructure 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 informationProject 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 informationDFT: 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 informationPre-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 informationStudy 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 informationPROBLEM 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 informationTopic. 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 informationDiscrete 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 informationChapter 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 informationDCSP-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 informationLog 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 informationLab 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 informationSMS045 - 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 informationLab 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 informationFrequency 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 informationProject 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 informationECE438 - 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 informationGeorge 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 informationExperiment 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 informationOrthonormal 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 information2 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 informationGE 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 informationCHAPTER 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