Unformatted Document Excerpt
Coursehero >>
California >>
Berkeley >>
EE 20N
Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
UITARS G , D RUMS , AND C OMB F ILTERS
Electrical Engineering 20N Department of Electrical Engineering and Computer Sciences University of California, Berkeley
6
H SIN -I L IU , J ONATHAN K OTKER , A NDREW L EE , H OWARD L EI , AND B ABAK AYAZIFAR
1
Introduction
In this lab, we will explore further applications of the filters that we have seen so far in lectures, discussion sections, and previous lab sessions. In particular, we will use a comb filter to create the sound of a guitar string being plucked, and we will use other filters to make this sound as realistic as possible. Also, with a small modification, we can use the same model to create drum sounds. Along the way, we will explore different features of the impulse response and the frequency response of these filters. The methods discussed in much of this lab were formulated by Karplus and Strong [1]. 1.1 Lab Goals Implement further practical applications of discrete-time filters in LabVIEW. Explore relationships between sampling frequency, fundamental frequency, and delays. Get acquainted further with subVIs and LabVIEW LLBs to make block diagrams cleaner and clearer. 1.2 Checkoff Points
1. Pre-Lab Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (a) Sound Mechanics of String Instruments: Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (b) Phase Response of Comb Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (c) Moving between Frequency Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (d) Checkoff Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (10%) (e) Submission Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (f) Submission Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. In-Lab Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (a) Guitar Hero: A Good Guitar Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (45 minutes, 15%) (b) That Can't Be Real (Get It?): A Better Guitar Simulation . . . . . . . . . . . . . . . . . . . . . . (30 minutes, 15%)
1
(c) I Can't Believe It's Not a Guitar String: An Even Better Guitar Simulation . . . . (45 minutes, 15%) (d) Creating a SubVI (e) I Need Some Feedback (f) Marching To A Different Drummer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (30 minutes, 10%) 3. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2.1
Pre-Lab Section
Sound Mechanics of String Instruments:Mechanics of String Instruments Independent section: Sound Theory
String instruments, such as a guitar string, create vibrations that are similar to the simple sine wave model, but have moreFrom Lab mode explored the nature of a sine wave and how it can represent a than one 2, we of vibration, as illustrated in Figure 1. sound wave. We can generate tones to play a song with the simple sine wave model of sound, however they sound extremely mechanical since they are pure Figure 1 Vibration Modes of a Guitar String. spectrally.
Figure 3: Four modes of vibration of a guitar string. Each of these modes of vibration produces a different frequency. The first mode of vibration in the figure String instruments, such as fundamental create vibrations first harmonic), the produces the lowest frequency, called the a guitar string,frequency (or thethat are similar towhich is typically the frequency simple note wave model, however have more than sound, for of vibration illusof the sine being played; in the case of the A-440 one mode instance, the fundamental fretrated in next mode produces a component at twice that frequency, 880 Hz; this component is quency is 440 Hz. The figure 3. Each of these modes of vibration produces a different frequency. The top one in The third produces three times the fundamental frequency, 1320 called the second harmonic. the figure produces the lowest, frequency, called the fundamental, Hz, while the which times the the frequency of the note being played, such as 440Hz are the third harmonic fourth produces fouris typically fundamental frequency, 1760 Hz; these components for A-440. The next mode produces component and the fourth harmonic, respectively.aThis patternof the soundand in general, the nth harmonic produces a continues, at twice that frequency, 880Hz; this component is called the first harmonic. The third produces three times the frefrequency that is n times the fundamental frequency. quency, 1,320 Hz, and the fourth produces four times the fundamental, 1,760 Hz; these components are the second and third harmonics. If the guitar string is undamped, and the fundamental frequency is f0 Hz, then the combined sound is a If the guitar string This sound can be written as a continuous-time function y, linear combination of harmonics.is undamped, and the fundamental frequency is f0 Hz, then where, the combined sound is a linear combination of the fundamental and the three (or N more) harmonics. This can be written as a continuous-time function y where for t R, y(t) = ck sin(2fk t), (1) all t R,
N
k=1
y(t) = ck sin(2fk t) where N is the number of harmonics and fk is the frequency of the kth harmonic. The values of ck are the k=0 relative weights of these harmonics. These values will depend onthe relative weights of these where N is the number of harmonics and ck gives how the guitar was constructed and how it is played, and will affect the timbre of the sound. 4
2
2.2
Phase Response of Comb Filters
In lab 05 we have focused on the magnitude response of filters when performing the lab activities. In this lab, we will shift our focus to the phase response of a comb filter, and determine how its properties are useful for our purposes. Recall that a comb filter is a discrete-time LTI system given by the following LCCDE: n Z, y(n) - y(n - N ) = x(n). (2)
The block diagram representation of this system is shown in Figure 2. We assume that the system is initially at rest. Figure 2 A basic discrete-time comb filter.
COMB FILTER
N
This system is commonly used to model echo effects in sound signals. The parameter R is used to model the attenuation or amplification of the sound signal with each echo. The parameter N is a positive integer used to model the amount of time delay in every echo. As you have seen in lab 05, the corresponding frequency response FC is given by R, FC () = eiN . - (3)
eiN
Let us explore this frequency response, specifically its phase, more closely. 1. Plot the phase response of a comb filter for different values of N ; specifically, for values N = 1, 2, 5. How will the phase plot change as N changes (increases or decreases)? 2. N was restricted to be a positive integer. Based on your observations in the previous step, what do you predict will happen to the plot if we do not restrict N only to the positive integers, but allow N fractional values as well? While a fractional delay block does not translate to an intuitive example in a discrete-time system (why?), we can still create a system that implements a fractional delay by cascading other filters with the comb filter to manipulate the phase response of the net filter. This is one concept that we will exploit in this lab.
3
2.3
Moving between Frequency Units
In lab 05 we had to move between frequencies represented in different units. Please read "The Many Faces of Frequency" for more detailed explanations. You can find it here: http://ptolemy.eecs.berkeley. edu/eecs20/labs/LabVIEW_Labs/Lab06_old/TheManyFacesofFrequency.pdf In a nutshell, if we had a signal with a continuous-time frequency of fc cycles per second, and the signal was sampled with a sampling frequency of fs samples per second1 , then the discrete-time frequency of the sampled signal, D radians per sample, is given by D = 2.4 Checkoff Exercises 2fc . fs (4)
1. We will begin by adapting the CF Time Domain VI that you made during the post-lab exercises for lab 05. Make a copy of this VI under the name CF Impulse Response.vi. Delete everything except for the For Loop that represents the comb filter. 2. Feed an impulse signal of 13250 samples as input. In other words, feed, as input to the comb filter, a signal that has a value of 1 at time 0 and a value of 0 elsewhere. Given a sampling frequency of 26.5 kHz, how long does this signal last (in time)? 3. Plot the impulse signal. When doing so, ensure that the x-axis, which represents time, correctly represents the time at which each sample is generated. 4. Now, we create a waveform based on the output of the system. Use the Build Waveform block under Programming Waveform. Set dt to be 1/26500 (why?). Feed the output signal of the comb filter to the Y input.
5. Connect the output of the Build Waveform block to a Waveform Graph, available on the front panel under Modern Graph. Change the plot type to a stem plot. 6. On the front panel, right-click on the graph and select Visible Items Graph Palette. This makes visible a palette of graph tools that enable us with different ways of viewing the graph, as shown in Figure 3. Explore the various options available, and use the zoom tools to zoom into different areas of interest. 7. Use N = 100 and = 0.99. Run the virtual instrument, and observe the impulse response of the comb filter. Vary N to explore the effect of N on the impulse response. 8. Notice that the output is not purely periodic. However, we can interpret the output signal differently: also notice that it can be modeled by an impulse train (which is periodic) but modulated by a decaying exponential. 9. Notice that the comb filter generates the impulses in the impulse train every N samples. With the help of the LCCDE of the comb filter, explain why this is the case. In more rigorous terms, why is fC (n) = 0 n = kN, k Z, k 0?
1 One subtlety regarding the units: one Hertz is defined to mean per second. f has units of cycles per second and f has units of c s samples per second, but "cycles" and "samples" are not conventional units. Thus, it is not uncommon to see either fc or fs expressed in just Hertz. Context determines whether or not we are talking about cycles, samples, radians, or other quantities.
4
Figure 3 A waveform graph with the graph palette visible.
10. Since the impulse train is (almost) periodic, it has a continuous-time fundamental frequency, the lowest frequency with which the signal repeats itself. Determine the fundamental frequency (in Hertz) of the impulse train, as a function of only the sampling frequency fs and N . We can derive the formula as follows: We know that the nonzero samples of the discrete-time impulse response are separated by N samples. We also know that, if the discrete-time impulse response was obtained by sampling a continuous-time signal, then adjacent samples are separated by Ts seconds per sample, where Ts is the sampling period. With this in hand, we determine how many seconds separate two adjacent nonzero samples of the impulse response. Finally, we invert this relationship to determine how many adjacent nonzero samples of the impulse response occur per second--the fundamental frequency of the impulse train. 11. Determine the numerical value of the fundamental frequency (in Hertz) of the impulse train that you generated in step 7. 2.5 Submission Rules
1. Submit your files no later than 10 minutes after the beginning of your next lab session, during the week of March 19, 2012. 2. Late submissions will not be accepted, except under unusual circumstances. 3. If the pre-lab exercises are not performed, you will get an immediate zero for the entire lab. 4. These exercises should be done individually. 5. Keep your work safe for further usage in the in-lab sections. 2.6 Submission Instructions
1. Log on to bSpace and click on the Assignments tab. 2. Locate the assignment for Lab 6 Pre-Lab. 3. Attach the following files to the assignment:
5
(a) A text document containing your responses to the emboldened questions in section 2.4. (b) The VI CF Impulse Response.
3
In-Lab Section
Throughout the in-lab sections, the guide asks you to consider a few conceptual questions. Try your hand at these questions and keep your answers handy. If you find that a question does not make sense, or if you need help in answering a question, feel free to ask your lab TA. 3.1 Guitar Hero: A Good Guitar Simulation
The goal of this portion of the lab session is to show how the impulse response of a comb filter can generate a sound wave similar to that produced by a musical instrument, specifically a guitar. We will start off with a simple model and develop the model as we progress through the lab. Assume that the sampling frequency used is the same as that used in the pre-lab sections: 26.5 kHz. 1. Open the CF Impulse Response VI that you created in the pre-lab section. 2. Change the type of the plot of the output waveform to be a continuous-time plot. 3. Since we have already converted the output of the comb filter into a waveform, we can use the handy Play Waveform block, found under Programming Graphics and Sound Sound Output, to listen to it. 4. Set N to 101 and to 0.99 and run the virtual instrument. Can you identify what you hear? 5. In pre-lab section 2.4 step 10, you derived a relationship between the fundamental frequency of the impulse response, the sampling frequency fs , and N . Using this relationship, determine if there is a positive integer N that can generate the musical note A, whose frequency is 440 Hz. If so, what is its value; if no, why not? 6. If N were allowed to be a real number, however, would we be able to generate the A-440 signal? If so, what is its value; if no, why not? 7. Load the CF Frequency Domain VI that you created in the post-lab sections of lab 05, where you had plotted the magnitude and the of phase the frequency response of a comb filter. 8. Run the VI to plot the magnitude and the phase of the frequency response FC () with = 0.99, N = 40, and a step size of 0.00005 for your array of frequencies w. As a sanity check, recall from pre-lab section 2.2 that the number of repetitions in the frequency range (-, ] should be N . This periodic nature of the frequency response hints us towards the possibility of using the comb filter to simulate a guitar string, since we know that all the frequencies contained in the sound produced by an undamped guitar string are multiples of the fundamental frequency. 9. The fundamental frequency is the lowest positive nonzero frequency in the sound produced by an undamped guitar string, or in this case, the sound representation of the impulse response of the comb filter. Use the magnitude response plot for the comb filter, which you generated in step 8, to determine the approximate value of the fundamental frequency (in Hertz), with the help of the relationship expressed in section 2.3. (It is possible to get an exact value, due to the periodic nature of the frequency response.) Use the relationship you determined in step 10 of pre-lab section 2.4 to confirm your answer. 10. What is the value of the second harmonic? The third harmonic? The kth harmonic?
6
11. We recapitulate the equation of the continuous-time signal y(t) representing the sound produced by an undamped guitar string here for convenience:
N
t R,
y(t) =
k=1
ck sin(2fk t),
(1)
In the equation above, the coefficients ck are real, as they must be if y(t) is to be real. The values of the coefficients ck in Equation 1 can be interpreted as twice the heights of the peaks in the magnitude response. Using the relationship above, explain why. (Hint: What does the magnitude of the frequency representation of one sinusoidal wave look like?) 12. What is the relationship between the coefficients ck of the various harmonics: are they the same or are they different? Explain your answer. 3.2 That Can't Be Real (Get It?): A Better Guitar Simulation
Our goal in this lab session is to create a realistic guitar pluck sound. However, the guitar pluck sound that we created in section 3.1 sounds very mechanical. In this section, we will replace our earlier impulse input with an input containing a set of values. 1. We will create another VI called CF Random using CF Impulse Response as a template. 2. Download the Random Init VI from bSpace, and explore its block diagram. As structured, this VI will create an array of length P, the first N of which are random values between -1 and 1; verify this. The array produced by this VI will represent an input to the comb filter containing a set of random values. This input resembles a more realistic guitar plucking action. 3. In the VI CF Random, replace the impulse input with the output of the Random Init VI. Attach controls to inputs N and P. The value for the input N is the same as the delay N used by the filter. To import a subVI into another, we must right-click on a blank spot in the block diagram and choose Select a VI.... 4. Run the VI with = 0.99, N = 58, and P = 13250. (With the P as given, how long, in time, is the input signal?) Listen to the output. Compare the sound produced earlier, when using the impulse as an input, to this new sound. Do they both have the same tone? While we made the output less mechanical by using a different input, the output still has the same characteristics in terms of tonality. We will build off of this to further our model. 3.3 I Can't Believe It's Not a Guitar String: An Even Better Guitar Simulation
Real instrument sounds are more dynamic in their frequency structure. In other words, the frequency spectrum of the sound within the first few milliseconds of plucking the string is different from the spectrum a second or so later. Physically, this is because the high frequency vibrations of the string die out more rapidly than the low frequency vibrations. We can approximate this effect by modifying our VI and inserting a low-pass filter into the feedback loop, in order to filter out the high frequency components of the output signal. The resulting block diagram is shown in Figure 4, where the low-pass filter used is governed by the following LCCDE: r(n) = 1 (p(n) + p(n - 1)) . 2
1. Determine the LCCDE that describes the block diagram of the filter shown in Figure 4. Your final answer should involve only the input signal x(n) and the output signal y(n). You may find the intermediate signals p(n) and r(n) useful in obtaining your answer. 7
2. As we progress further with the lab, we will be splicing other filters into the comb filter, and this process could make the block diagram of our VI messy and unintelligible. To overcome this, we will place every new filter into its own sub-VI, and insert this sub-VI into the current VI containing the comb filter. The following steps will guide us through this process. Save a copy of the CF Random VI under the name Guitar String, in a new folder also called Guitar String. Figure 4 Low-Pass Filter embedded into a Comb Filter.
r
LOW-PASS FILTER
p
N
LOW-PASS FILTER
1
3.4
Creating a SubVI
One important feature of LabVIEW is its modularity: it is possible to encase different portions of a VI into smaller modules and to connect these modules to obtain a VI of similar functionality, but a VI that is easier to debug and neater to look at. In other words, it is possible to use one VI as a block in another; the former VI becomes a subVI of the latter. We have already seen a few of these: most of the non-trivial blocks, such as the Y[i] = X[i - n] PtByPt block, are actually VIs; you can double-click on any one of them to view the corresponding VI. In this section, we will encase our low-pass filter in a subVI to accomplish two things: we can abstract away how the low-pass filter works, and we can also keep a VI with a neat block diagram, preventing us from getting drowned in a lot of wires and blocks. 1. Create a new VI called LPF for CF, in the folder Guitar String: this VI will be a sub-VI for the comb filter, and will contain the low-pass filter that is embedded into the feedback loop of the comb filter, as shown in Figure 4. 2. Notice that the input and output are scalars. This is because your subVI will be placed inside the For Loop representing the comb filter, and inside the comb filter, we only have access to one sample of the input signal, not the entire signal as one. 3. We will start by making LPF for CF a very simple subVI. It won't do anything particularly interesting at the moment, but in doing so, you will be familiarized with the things that go into making a subVI.
SUB VI
8
4. In order to create any subVI, we will need to create controls on all of our intended inputs and indicators on all of our intended outputs. 5. In the case of your LPF for CF VI, create one numeric control and one numeric indicator. In the block diagram, wire up the control directly to the indicator. Your block diagram should look like that of Figure 5. Figure 5 Version 1 of the Low-Pass Filter.
6. As you might expect, this subVI will simply pass its input to its output unchanged. In other words, it'll just act as a wire. Thus, once you plug it into the feedback loop as shown in Figure 4, the result should sound identical as before. We can take advantage of this fact to make sure that the subVI is working correctly. 7. Now, to make this subVI usable in the Guitar String VI, we have to "expose" the control and indicator to the outside world. We do this by hooking them up to the VI's connector terminals. 8. On the top right corner of your LabVIEW window, on the front panel, right-click on the VI Icon and select Show Connector, as shown in Figure 6. You will now see the connector pane, which describes the inputs and outputs of your VI. Figure 6 Showing the connector pane.
CONNECTOR TERMINALS
9. The connector pane, shown in Figure 7, is a pictorial representation of the terminals available to your VI; whether each terminal is an input or an output depends on what it is connected to. However, we recommend the convention that input terminals are on the left, while output terminals are on the right. You can change the pattern by right-clicking on the VI Icon again, going to the Patterns submenu, and selecting a new pattern. Connect the numeric control to one input terminal, and the indicator to one output terminal: this connection is done by first clicking on the terminal, and then clicking on the relevant control or indicator on the front panel. If done correctly, the terminal will be colored in to signify that a connection has been made. 9
Figure 7 Connector pane with terminals (only a few are labeled).
10. One last thing: let us make our subVI easily identifiable. On the front panel, right-click on the icon for the VI near the top right and select Edit Icon, as shown in Figure 8. You will obtain the Icon Editor, as shown in Figure 9. Use the Icon Editor to create an icon for your VI: preferably one containing the words Low-Pass Filter. Perform your editions for 256 Colors, and duplicate your creation into the other color schemes. Do not, however, spend a lot of time on this step; a simple descriptive icon will suffice. Figure 8 Invoking the Icon Editor.
Figure 9 The Icon Editor.
Don't forget to save your work! 11. Congratulations! You now have a fully functional subVI that can be imported into any other VI. To use it, go to the block diagram of the Guitar String VI. Right-click any empty region in the block diagram and click Select a VI.... Select the LPF for CF VI you made, and presto! Your subVI will appear as a usable block with the icon you made. 12. At this point, you should be able to hover your cursor over your subVI's connector terminals and see the input and output you have created for the subVI. Wire it into the feedback loop of your block diagram as the low-pass filter (I know it's not actually a low-pass filter yet!) as depicted in Figure 4. 10
13. Run your Guitar String VI with your subVI plugged in. As mentioned earlier, it should sound exactly as it did before. If it does not, look over the previous steps again. 14. If everything looks (or sounds) great so far, it's time to upgrade the subVI from being a simple wire to being a working low-pass filter. As you know, to implement a basic discrete-time low-pass filter, we have to hold on the last value of the signal to average the current value with. In past labs, we would often use a shift register to do this. However, we are now working inside a subVI, so using a shift register will not work cleanly (why?). Instead, let us understand a block in our arsenal that you may have encountered from time to time: the Feedback Node.
F EEDBACK N ODE
3.5
I Need Some Feedback also hold values from one iteration to the next. In other words, Feedback
Feedback Nodes
Nodes delay their input by one iteration, just as a Shift Register does. Several Feedback Nodes in series (one after the other) will also achieve the effect of delaying the signal for as many iterations as there are nodes. LabVIEW inserts Feedback Nodes automatically when it detects that a signal is being combined with itself, but modified in some manner. Despite their similarities, Feedback Nodes and Shift Registers are not identical in functionality; however, for our limited usage, they can be used interchangeably. For this lab session in particular, Feedback Nodes have the visual advantage of resembling the delay element that delays its input by one sample. Please note that since the subVI will be placed inside an external For Loop representing the comb filter, do not initialize any Feedback Nodes or shift registers you may use! Doing so will cause them to lose history, because they would repeatedly initialize every time the external For Loop representing the comb filter performs an iteration. 15. With Feedback Nodes under our belt, implement the low-pass filter subVI as illustrated in Figure 4. Again, make sure to save your work. 16. With your modified LPF for CF VI, run your Guitar String virtual instrument with = 0.99, N = 58, and P = 13250 as before. Can you hear the difference?
11
3.6
Marching To A Different Drummer
Now that we have simulated the sound of a guitar string being plucked, we can use the same system, with a slight modification, to create the sounds of two kinds of drums2 . 1. Make a copy of the Guitar String VI and name it Drum, and save it in another folder also called Drum. Also, save a copy of the LPF for CF VI and the Random Init VI in the Drum folder. 2. Modify the block diagram of the Drum VI to implement the following LCCDE: n Z, y(n) = x(n) + x(n) -
2 2
(y(n - N ) + y(n - N - 1)) (y(n - N ) + y(n - N - 1))
with 50% chance. with 50% chance.
As a hint, how is the LCCDE you are given here different from the LCCDE you derived in step 1 of section 3.3? You may consider creating another sub-VI, which has no input terminals, but produces an output that is 1 with a fifty percent chance and -1 with the other fifty percent. If you do create such a sub-VI, do not forget to add it to the Drum folder. 3. Run your virtual instrument with = 0.99, N = 200, and P = 13250. You should hear the simulated sound of a snare drum. For comparison, there are two sound samples of a snare drum, one when the sound is unmuffled and one when the drum is played on its rim, available on bSpace as part of the resources for this lab. 4. Change N to 20 and run the virtual instrument again. Now, the sound is more similar to that of a tom-tom being brushed. Notice that, unlike the guitar sound, changing N will not change the frequency of the sound, but simply its duration. This is because the randomness we introduced destroys the fundamental frequency of the comb filter.
4
Acknowledgments
Special thanks go out to the teaching assistants (TAs) of the Spring 2009 semester (Vinay Raj Hampapur, Miklos Christine, Sarah Wodin-Schwartz), of the Fall 2009 semester (David Carlton, Judy Hoffman, Mark Landry, Feng Pan, Changho Suh), and of the Spring 2010 semester (Xuan Fan, Brian Lambson, Kelvin So) for providing suggestions, ideas, and fixes to this lab guide. This lab guide was based on, although substantially modified from, the "Plucked string instrument" laboratory exercise as presented in the book Structure and Interpretation of Signals and Systems, written by Edward A. Lee and Pravin Varaiya (ISBN 0201745518). The drum sound samples were obtained from the Drums entry on Wikimedia Commons, under the Creative Commons license.
References
[1] K. Karplus and A. Strong. Digital Synthesis of Plucked-String and Drum Timbres. Computer Music Journal, 7(2):4355, Summer 1983.
2 Yes,
this model is that amazing.
12
Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more.
Course Hero has millions of course specific materials providing students with the best way to expand
their education.
Below is a small sample set of documents:
Berkeley - CS - 70
CS70 Discrete Mathematics and Probability, Spring 2012Homework 1Out: Jan. 19; Due: Jan. 26Instructions: Start each problem on a new sheet. Write your name, section number and "CS70" on every sheet. If you use more than one sheet for a single problem, s
Berkeley - CS - 70
CS70 Discrete Mathematics for Computer Science, Spring 2012Homework 2Out: 26 Jan. Due: 5pm, 2 Feb.Instructions: Start each problem on a new sheet. Write your name, section number and "CS70" on every sheet. If you use more than one sheet for a problem,
Berkeley - CS - 70
CS70 Discrete Mathematics and Probability, Spring 2012Homework 3Out: 2 Feb. Due: 5pm, 9 Feb.Instructions: Start each problem on a new sheet. Write your name, section number and "CS70" on every sheet. If you use more than one sheet for a problem, staple
Berkeley - CS - 70
CS70 Discrete Mathematics for Computer Science, Spring 2012Homework 4Out: 9 Feb. Due: 5pm, 16 Feb.Instructions: Start each problem on a new sheet. Write your name, section number and "CS70" on every sheet. If you use more than one sheet for a problem,
Berkeley - CS - 70
CS70 Discrete Mathematics for Computer Science, Spring 2012Homework 5Out: 16 Feb. Due: 5pm, 23 Feb.Instructions: Start each problem on a new sheet. Write your name, section number and "CS70" on every sheet. If you use more than one sheet for a problem,
Berkeley - CS - 70
CS70 Discrete Mathematics for Computer Science, Spring 2012Homework 6Out: 1 March. Due: 5 pm, 8 March.Instructions: Start each problem on a new sheet. Write your name, section number and "CS70" on every sheet. If you use more than one sheet for a probl
Berkeley - CS - 70
CS70 Discrete Mathematics for Computer Science, Spring 2012Homework 7Out: 8 March. Due: 5pm, 15 March.Instructions: Start each problem on a new sheet. Write your name, section number and "CS70" on every sheet. If you use more than one sheet for a probl
Berkeley - CS - 70
CS 70 Spring 2012Discrete Mathematics and Probability Theory Alistair Sinclair Note 1Course OutlineCS70 is a course on "Discrete Mathematics and Probability for Computer Scientists." The purpose of the course is to teach you about: Fundamental ideas in
Berkeley - CS - 70
CS 70 Spring 2012 ProofsDiscrete Mathematics and Probability Theory Alistair Sinclair Note 2Intuitively, the concept of proof should already be familiar. We all like to assert things, and few of us like to say things that turn out to be false. A proof p
Berkeley - CS - 70
CS 70 Spring 2012 InductionDiscrete Mathematics and Probability Theory Alistair Sinclair Note 3Induction is an extremely powerful tool in mathematics. It is a way of proving propositions that hold for all natural numbers: 1) k N, 0 + 1 + 2 + 3 + + k =k
Berkeley - CS - 70
CS 70 Spring 2012Discrete Mathematics and Probability Theory Alistair Sinclair Note 4The Stable Marriage Problem: An Application of Proof Techniques to Analysis of AlgorithmsConsider a dating agency that must match up n men and n women. Each man has an
Berkeley - CS - 70
CS 70 Spring 2012Discrete Mathematics and Probability Theory Alistair Sinclair Note 5Modular ArithmeticOne way to think of modular arithmetic is that it limits numbers to a predefined range cfw_0, 1, . . . , N - 1, and wraps around whenever you try to
Berkeley - CS - 70
CS 70 Spring 2012Discrete Mathematics and Probability Theory Alistair Sinclair Note 6This note is partly based on Section 1.4 of "Algorithms," by S. Dasgupta, C. Papadimitriou and U. Vazirani, McGraw-Hill, 2007.Public Key CryptographyIn this note, we
Berkeley - CS - 70
CS 70 Spring 2012 PolynomialsDiscrete Mathematics and Probability Theory Alistair Sinclair Note 7Recall from your high school math that a polynomial in a single variable is of the form p(x) = ad xd + ad-1 xd-1 + . . . + a0 . Here the variable x and the
Berkeley - CS - 70
CS 70 Spring 2012Discrete Mathematics and Probability Theory Alistair Sinclair Note 8Error Correcting CodesErasure ErrorsWe will consider two situations in which we wish to transmit information on an unreliable channel. The first is exemplified by the
Berkeley - CS - 70
CS 70 Spring 2012Discrete Mathematics and Probability Theory Alistair Sinclair Note 9An Introduction to GraphsFormulating a simple, precise specification of a computational problem is often a prerequisite to writing a computer program for solving the p
Berkeley - CS - 70
CS 70 Spring 2012 CountingDiscrete Mathematics and Probability Theory Alistair Sinclair Note 10In the next major topic of the course, we will be looking at probability. Suppose you toss a fair coin a thousand times. How likely is it that you get exactly
Berkeley - CS - 70
CS 70 Spring 2012Discrete Mathematics and Probability Theory Alistair Sinclair Note 11Introduction to Discrete ProbabilityProbability theory has its origins in gambling - analyzing card games, dice, roulette wheels. Today it is an essential tool in eng
Berkeley - CS - 70
CS 70 Spring 2012Discrete Mathematics and Probability Theory Alistair Sinclair Note 12Conditional ProbabilityA pharmaceutical company is marketing a new test for a certain medical disorder. According to clinical trials, the test has the following prope
Berkeley - MATH - 54
Math 54, Spring 2012Fraydoun Rezakhanlou Homework from Linear Algebra and Its Applications, by Lay, third edition Homework set 1. Section 1.1: #6, Section 1.2: #2, Section 1.3: #6, Due Monday, January 23 10, 13, 16, 20, 28 11, 16, 23, 25 10, 11, 14, 18,
Berkeley - MATH - 54
Math 54, Spring 2012Fraydoun Rezakhanlou Homework from Fundamentals of Differential Equations and Boundary Value Problems, 4th edition, by Nagle, Saff and Snider Homework set 10. Due Monday, April 2 Section 4.2:#6, 10, 16, 28, 34 Section 4.3:#8, 16, 24,
Berkeley - MATH - 104
Math 104 Final Exam Solutions 1. (10 points) Are the following statements true or false? (a) If n n=0 cconverges, then so does n(-1)n n c . n=0 2nTrue. (b) If f : [0, 1] - R is differentiable, then f : [0, 1] - R is Riemann integrable. False. (for exa
Berkeley - PHYSICS - H7b
Physics H7B Prof. I. Siddiqi Spring 2012 Problem Set #1 Due in Class Tuesday 1/31/2012 #1. (a) The tube of a mercury thermometer has an inside diameter of 0.110 mm. The bulb has a volume of 0.190 cm3. How far will the thread of mercury move when the tempe
Berkeley - PHYSICS - H7b
H7B Spring 2012 Problem Set #2 Due in class by Tuesday, February 7, 2012 Problem 1: Giancoli 4th edition Ch 18 #56 Problem 2 Giancoli 4th edition Ch 18 #63 Problem 3: Giancoli 4th edition Ch 18 #67 Problem 4: Giancoli 4th edition Ch 18 #70 Problem 5: Gian
Berkeley - PHYSICS - H7b
H7B Problem Set #3 Due in class Tuesday 2/14/2012Problem #1: Giancoli Ch. 19 Problem 56 Problem #2: Giancoli Ch. 19 Problem 62 Problem #3: Giancoli Ch. 19 Problem 67 Problem #4: Giancoli Ch. 19 Problem 76 Problem #5: Giancoli Ch. 19 Problem 87 Problem #6
Berkeley - PHYSICS - H7b
Prof. I. Siddiqi H7B Spring 2012 Problem Set #5 Due: In Class Tuesday 3/13/12Problem #1: Purcell 1.5 Problem #2: Purcell 1.16 Problem #3: Purcell 1.19 Problem #4: Purcell 1.21 Problem #5: Purcell 1.32 Problem #6: Purcell 1.34
Berkeley - PHYSICS - H7b
PS# 4 H7B Spring 2012 Due in Class Tuesday 2/21/2012Problem #1 Giancoli Chapter 20 #7 Problem #2 Giancoli Chapter 20 #51 Problem #3 Giancoli Chapter 20 #52 Problem #4 Giancoli Chapter 20 #62 Problem #5 Giancoli Chapter 20 #63 Problem #6 Giancoli Chapter
Abilene Christian University - FINANCE - 20008
GLOBAL EDITIONMULTINATIONAL BUSINESS FINANCE12TH EDITIONDavid K.Arthur I.Michael H.EITEMANUniversity of California, Los AngelesSTONEHILLOregon State University and the University of Hawaii at ManoaMOFFETTThunderbird School of Global Management
University of South Pacific - ECONOMICS - 302
EC302: MICROECONOMIC ANALYSISSEMESTER 1 2012Worksheet 4 1. Three voters A, B and C will decide by majority rule whether to pass bills on issues X and Y. Each of the two issues will be voted on separately. The change in net benefits (in $) that would res
LSU - FINE - 101
CHAPTER 14 INTEREST RATE AND CURRENCY SWAPS SUGGESTED ANSWERS AND SOLUTIONS TO END-OF-CHAPTER QUESTIONS AND PROBLEMSQUESTIONS 1. Describe the difference between a swap broker and a swap dealer. Answer: A swap broker arranges a swap between two counterpar
LSU - FINE - 101
CHAPTER 11 INTERNATIONAL PORTFOLIO INVESTMENT SUGGESTED ANSWERS AND SOLUTIONS TO END-OF-CHAPTER QUESTIONS AND PROBLEMSQUESTIONS1.What factors are responsible for the recent surge in international portfolio investment?Answer: The recent surge in intern
LSU - FINE - 101
Review of Finance (2008) 12: 221251 doi: 10.1093/rof/rfl005 Advance Access publication: 31 January 2007Czech Mate: Expropriation and Investor Protection in a Converging WorldMIHIR A. DESAI1 and ALBERTO MOEL21 HarvardUniversity and NBER; 2 Monitor Grou
East Carolina - ITEC - 3290
East Carolina - ITEC - 3290
Allen Scott ITEC 3290 Graphics Discussion 2/11/2012 I searched the web to find an interesting graphic. Some were too elaborate, others too plain. I stumbled on an advertisement for Acoustifeet. Acoustifeet are a silicon rubber product that makes PCs and o
East Carolina - ITEC - 3290
Audience & Purpose determine everything about how you communicate on the job Understanding your audience and purpose helps you meet your readers needs During the writing process, you should always remember who your readers are, why they are reading your d
East Carolina - ITEC - 3290
Banner RegistrationGo to the ECU Home Page Select OneStop iconEnter your Pirate ID and PassphraseSelect Banner Self ServiceStep 1: Select Student and Financial AidStep 2: Select Registration to add or drop courses, look up class offerings, and see yo
East Carolina - ITEC - 3290
Memos Are moderately formal Usually written to others within your organization Writer has a lot of control over design and appearance Can be timeconsuming because they require paper, signatures, and have to be delivered via interoffice mail or in person
East Carolina - ITEC - 3290
1.An economic analysis of the relationship between proposed legislation affecting major employers in each state and the voting patterns of Senators and representatives in Congress on that legislation would fit within the subcategory of economics called:
East Carolina - ITEC - 3290
Homework 2 Econ 261, Principles of Microeconomics Instructor: A. Biswas Fall 2010 Due date: September 28, 2010 Homework submission policy: The homework is due at the beginning of due date's class (that is September 28, 2010) and late submission will not b
East Carolina - ITEC - 3290
Ch 5 - Revision QuestionsDL-S 06/11/091. If a small percentage increase in the price of a good greatly reduces the quantity demanded for that good, the demand for that good is: a. price inelastic b. price elastic c. unit price elastic d. income elastic
East Carolina - ITEC - 3290
ch3 AP MacroEcoFigure 3-9Uzbekistan's Production Possibilities Frontier100 90 80 70 60 50 40 30 20 10 5 10 15 20 25 30 35 40 45 50 bolts nailsAzerbaijan's Production Possibilities Frontier100 90 80 70 60 50 40 30 20 10 5 10 15 20 25 30 35 40 45 50 bo
East Carolina - ITEC - 3290
CHAPTER 31Public Choice Theory and the Economics of TaxationA. Short-Answer, Essays, and Problems1. What are the basic differences between public choice theory and the economics of taxation? 2. Why may majority voting produce economically inefficient o
East Carolina - ITEC - 3290
Chapter 6 Supply, Demand, and Government PoliciesMULTIPLE CHOICE 1. Price controls are a. used to make markets more efficient. b. usually enacted when policymakers believe that the market price of a good or service is unfair to buyers or sellers. c. near
East Carolina - ITEC - 3290
Chapter 7 Consumers, Producers, and the Efficiency of MarketsMULTIPLE CHOICE 1. Welfare economics is the study of a. the wellbeing of less fortunate people. b. welfare programs in the United States. c. the effect of income redistribution on work effort.
East Carolina - ITEC - 3290
Chapter 8 Applications: The Costs of TaxationMULTIPLE CHOICE 1. In 1776, the American Revolution was sparked by anger over a. the extravagant lifestyle of British royalty. b. the crimes of British soldiers stationed in the American Colonies. c. British t
East Carolina - ITEC - 3290
Chapter 10 ExternalitiesMULTIPLE CHOICE Which of the following is the best statement about markets? a. Markets are usually a good way to organize economic activity. b. Markets are generally inferior to central planning as a way to organize economic activ
East Carolina - ITEC - 3290
AP Economics Mankiw Chapter 10 Practice Test Directions: Mark T or F for the following statements. _ 1. A positive externality is an external benefit that accrues to the buyers in a market while a negative externality is an external cost that accrues to t
East Carolina - ITEC - 3290
Chapters 1-3 Drill w solutionMultiple Choice Identify the choice that best completes the statement or answers the question. _ 1. Which of the following is true? a. Efficiency refers to the size of the economic pie; equality refers to how the pie is divid
East Carolina - ITEC - 3290
Chpt 3 Gains from TradeTrue/False Indicate whether the statement is true or false. _ _ _ _ _ 1. A production possibilities frontier is a graph that shows the combination of outputs that an economy should produce. 2. Production possibilities frontiers can
East Carolina - ITEC - 3290
Business Letter Assignment 40 pointsFirst make sure to read the information in Chapter 14 on business letters. It is important that you understand the different formats and types of letters for this assignment. Once you have read chapter 14, choose one o
East Carolina - ITEC - 3290
East Carolina - ITEC - 3290
East Carolina - ITEC - 3290
Are fundamental to business communication Help readers understand concepts Often incorporate graphicsHelp readers understand what you mean by a word or phraseUsually provide a fuller picture of an object, a mechanism, or a process Give details about co
East Carolina - ITEC - 3290
East Carolina - ITEC - 3290
Are verbal and visual representations of objects, mechanisms, or processes They appear in virtually every kind of technical communicationAnalyze the audience Determine your purpose These will determine your vocabulary, sentence and paragraph structure an
East Carolina - ITEC - 3290
East Carolina - ITEC - 3290
To make a good impression To help readers understand the structure and hierarchy of the information To help readers find information within the document To help help readers understand the information To help readers remember the informationProximity gro
East Carolina - ITEC - 3290
East Carolina - ITEC - 3290
Dril Chapters 4-6Multiple Choice Identify the choice that best completes the statement or answers the question. _ 1. The highest form of competition is called a. absolute competition. b. cutthroat competition. c. perfect competition. d. market competitio
East Carolina - ITEC - 3290
Technical Document Analysis: Carolyn Dunn Figure 1 shown below is a photograph of a sign hanging outside the hospital in Latrobe, Pennsylvania where my mother had her recent surgery. When I saw it, I took a picture of it with my phone, thinking that since
East Carolina - ITEC - 3290
COURSE: PRINCIPLES OF MICROECONOMICS: ECON 2113602 SPRING Semester 2012 LECTURER: Lateef Balogun CLASS TIME/ DAY: ONLINE OFFICE: Room, Brewster Hall EMAIL ADDRESS: Balogunl@ecu.edu, TEL #. COURSE DESCRIPTION: ECONOMICS: is the social science that studies