21
EE 113D Fall 2008 Patrick Lundquist Ryan Wong http://weep.wikidot.com/

Digital Tuner

  • Upload
    plun

  • View
    742

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Digital Tuner

EE 113D Fall 2008Patrick Lundquist

Ryan Wong

http://weep.wikidot.com/

Page 2: Digital Tuner

The notes in the music are distinguished by their frequency

The note of each octave is twice the frequency of the same note in the previous octave.

Ex: C = 32.7 Hz, 65.4 Hz, 130.8 Hz, 261.6 Hz, 523.2 Hz … etc.

EE 113D Fall 2008 2

Page 3: Digital Tuner

The frequencies of the C notes are actually 32.7 Hz, 65.4 Hz, 130.8 Hz, 261.6 Hz… etc.

But we use C = 2x Hz, where X = 5, 6, 7, 8, 9… for the sake of simplicity.

EE 113D Fall 2008 3

Page 4: Digital Tuner

Output signal magnitude generation is exponential:

|2x -2x+a|, -0.5<a<0.5

Since notes are base 2 logarithmic, not linear

C – 7th octave

C – 8th octave

C – 6th octave

Our output signal varies exponentiallywith the input signal’s relative distancefrom the tuning frequency.

EE 113D Fall 2008 4

Page 5: Digital Tuner

A tuner can be aplied to anything that can be measured on a specturm analyzer

Ex: instruments, function generator, human voice.

We can start testing our finished product with a function generator and then move onto the more complicated human voice.

EE 113D Fall 2008 5

Page 6: Digital Tuner

Human vocal range: 80-1100 Hz Piano note frequency range: 27.5 – 4186 Hz Human hearing 20 Hz – 20 KHz

EE 113D Fall 2008 6

Page 7: Digital Tuner

We are going to start with the simplest case◦ Tuning to C (32 Hz, 64 Hz… etc.)

We wish to output high if the input is very close to a C in frequency

Output will be low if input is anything else. The sampling frequency of the tuner will be

8000 Hz.◦ We chose this frequency because it is twice the

maximum frequency of most instruments.

EE 113D Fall 2008 7

Page 8: Digital Tuner

Since we are dealing with frequencies, we know a Fourier Transform will be involved. ◦ The rest is just manipulation to get the correct output

from various inputs

The result of the Fourier Transform is a delta function at a memory index. ◦ We calculate frequency based on this index:

A/B x F = frequency of signal

where F is the sampling frequency, A is the index locationB is the total number of indices

EE 113D Fall 2008 8

Page 9: Digital Tuner

EE 113D Fall 2008 9

Page 10: Digital Tuner

Simulation: generated a sine wave

Testing: generated sine wave from function generator

Real Life: microphone signal input

EE 113D Fall 2008 10

Page 11: Digital Tuner

Simulation: generated a sine wave

Testing: sample.asm from lab

EE 113D Fall 2008 11

Page 12: Digital Tuner

Simulation: FFT function in matlab

Testing: RFFT.asm files from experiment 5. Uses a Radix-2, DIT

EE 113D Fall 2008 12

Page 13: Digital Tuner

Simulation: Loop through array find max frequency

Testing: getfreq.asm file uses finds max frequency index and converts it

EE 113D Fall 2008 13

Page 14: Digital Tuner

Simulation: Scaling max frequency to known scale: ~16khz

Testing: thold.asm file performs a series of bitwise shifts to scale to reference freq.EE 113D Fall 2008 14

Page 15: Digital Tuner

Simulation: Compare to tuning key and output ratio

Testing: thold.asm implements lookup table for comparison and lookup table for resultEE 113D Fall 2008 15

Page 16: Digital Tuner

Simulation: Scaling max frequency to known scale: ~16khz

Testing: thold.asm file

EE 113D Fall 2008 16

Page 17: Digital Tuner

Sampled signalEE 113D Fall 2008 17

Page 18: Digital Tuner

RFFT graphed outputEE 113D Fall 2008 18

Page 19: Digital Tuner

Integrate all modules into one continuous program.◦ Need to add calling and linking of each module.◦ Timing issues and assembly syntax problems◦ Also, nops and @ operator provided initial trouble.

Optimizing program to run in real time. ◦ FFT is a time expensive process that reduces the

potential for real time tuning. ◦ Difficult to determine when FFT is finished running.

EE 113D Fall 2008 19

Page 20: Digital Tuner

Tune to multiple notes Tune to a wider input frequency Record matches to memory or output file Convert output to sheet music Play sheet music

EE 113D Fall 2008 20

Page 21: Digital Tuner

Questions?

EE 113D Fall 2008 21