You are on page 1of 18

1

BMS COLLEGE OF ENGINEERING


(Department of Electronics and Communication)




Record Report on DSP ARCHITECTURE



FIC: Mrs. RADHA R.C
Department of ECE

Team Members:
SHAIK MUBARAK USN: 1BM11EC105
NEHA TAYAL USN: 1BM11EC066
SMIRTI DWIBEDI USN: 1BM11EC120

2

ACKNOWLEDGEMENT

We place on record and warmly acknowledge the continuous
encouragement, invaluable supervision, timely suggestions and
inspired guidance offered by our guide RADHA R.C. Associate
Professor, Department of Electronics and Communication
Engineering, BMS College of Engineering, Bangalore, in
bringing this report to a successful completion.

We are grateful to Prof.Dr. D.Seshachalam , Head of the
Department of Electronics and Communication Engineering,
for permitting us to make use of the facilities available in the
department to carry out the project successfully. Last but not
the least we express our sincere thanks to all of our friends
who have patiently extended all sorts of help for accomplishing
this undertaking. Finally we extend our gratefulness to one and
all who are directly or indirectly involved in the successful
completion of this project work.


3
ABSTRACT ON BEAT DETECTION PROJECT



This mini-project implements a beat detection scheme using the
onboard LEDs. Music visualization is a continuously
progressing area in audio processing, not only for analysis of
music but also for entertainment visualization purposes. The
scheme is based on the idea that the drum is the most energy-
rich component of the music. In this project, the beat of the
music is the drum pattern or bass line of the piece of music.


The incoming music signal is continuously sampled at
8Khz(with a 4KHz antialiasing filter on the codec) and stored in
the buffer. The buffer has 4000 points and is decomposed into
20 chunks, each chunk consisting of 200 points. The signal
energy of a smaller portion of the buffer- a chunk of the larger
buffer-consisting of the most recently collected samples is
compared to the signal energy of the entire buffer. When this
portion of the signal has a significantly higher than the rest of
the signal, it is considered to be a beat.



4
Table of Contents
1) INTRODUCTION ........................................................................ 5
2) THEORETICAL BACKGROUND ................................. .(6-9)
3) IMPLEMENTATION ..................................................... (10-11)
4) RESULT ........................................................................... (12-13)
5) APPLICATIONS ............................................................. (14-15)
6) CONCLUSION ........................................................................... 16
7) FUTURE ENHANCEMENT......17
8) BIBLIOGRAPHY18
5
INTRODUCTION


Simulating a physical phenomena which obeys to known
mathematical equations is, with a number of approximation,
always feasible. But, what about the more abstract concepts,
such as feelings, which do not follow any law? The simple things
we can feel are often the hardest things to capture in a program.
Beat detection follows this rule: feeling the beat of a song comes
naturally to humans or animals. Indeed it is only a feeling one
gets when listening to a melody, a feeling which makes us dance
in rhythm or hit a table with hands on the melody beats.
Therefore, through this program we learn to compute beat
detection in a machine that can only compute logical
operations. Here, we use algorithms that manage to
approximate, more or less accurately, this beat detection.


In signal analysis, beat detection is using computer software or
computer hardware to detect the beat of a musical score. There
are many methods available and beat detection is always a
tradeoff between accuracy and speed. Beat detectors are
common in music visualization software such as some media
player plugins.




6


THEORETICAL BACKGROUND


The human listening system determines the rhythm of music by
detecting a pseudo-periodical succession of beats. The signal
that is intercepted by the ear contains certain energy; this
energy is converted to electrical signal, which brain intercepts.
Obviously, the more energy the sound transports, the louder
the sound will seem. But a sound will be heard as beat only if
his energy is largely superior to the sounds energy history, that
is to say that if the brain detects a brutal variation in sound
energy. Therefore if the ear intercepts a monotonous sound
with sometimes big energy peaks it will detect beats, however,
if you play a continuous loud sound we will not perceive any
beats. Thus the beats are big variations of sound energy. We are
using Sound Energy Peak model to do the analysis.


A First Analysis:

In this model we will detect sound energy of the signal and
comparing it to the instant sound energy.




7
Lets say we are working in stereo mode with two lists of values:
a(n) and b(n). a(n) contains the list of sound amplitude values
captured every Te seconds for the left channel, b(n) the list of
sound amplitude values captured every Te second for the right
channel. So we want to compute the instant energy and the
average energy of the signal. The instant energy will in fact be
the energy contained in 1024 samples(1024 values of a(n) and
b(n),1024 samples represent about 5 hundreds of second which
is pretty much instant. The average energy should not be
computed on the entire song, some songs have both intense
passages and more calm parts.

The instant energy must be compared to the nearby average
energy, for example if a song has an intense ending, the energy
contained in this ending shouldnt influence the beat detection
at the beginning. We detect a beat only when the energy is
superior to a local energy average.
Thus we will compute the average on say: 44032 samples
which is about 1 second of song to detect beat. This 1 second
time(44032 samples) is what we called the human ear
persistence model; it is a compromise between being to big and
taking into account too far away from energies, and being too
small and becoming too close to the instant energy to make a
valuable comparison.






8

Some Direct Optimizations:


In this optimized method, the algorithm can be optimized by
keeping the energy values computed on 1024 samples in
history instead of the samples themselves, so that we dont
have to compute the average energy on the 44100 samples
buffer (B) but on the instant energies history we will call (E).
This sound energy history buffer (E) must correspond to
approximately 1 second of music, that is to say it must contain
the energy history of 44032 samples(calculated on groups of
1024) if the sample rate is 44100 samples per second. Thus
E(0) will contain the newest energy computed on the newest
1024 samples, and E(42) will contain the oldest energy
computed on the 1024 samples. We have 43 energy values in
history, each computed on 1024 samples which makes 44032
samples energy history, which is equivalent to 1 second in real
time. The count is good. The value of 1 second represents the
persistence of the music energy in the human ear, it was obtain
with experimentations but it may vary a little from a person to
another, just adjust it.








9

The simple sound energy algorithm:

Every 1024 samples:
Compute the instant sound energy e on the 1024 new sample
values taken in (an) and (bn) using the following(R1).
Compute the average local energy <E> with <E> sound energy
history buffer.
Shift the sound energy history buffer(E) of 1 index to the right.
We make room for the new energy value and flush the oldest.
Pile in the new energy e at E(0).
Compare e to c*<E>.


















10

IMPLEMENTATION


We have implemented the beat detection program in C code.
We have <E> and <e> which represents the average energy of
the buffer and of each chunk respectively. C is the comparison
factor(sensitivity), B is the buffer, and io is the start position in
the chunk buffer. N and n represent the number of points in the
buffer and in the chunk, respectively, and the equation
describes the actual beat logic that is:

beat={true (e)>(E).C }
{false otherwise}


To fine-tune this method, the following can be adjusted:
1. The length N of the larger buffer(the total signal being
compared against )
2. The length n of the chunks(the instantaneous signal)
3. The sensitivity C of the energy comparison. Values for C ranging
from 0.5 to 2 were tested and we found 1.3 to be suitable for
most type of music.

11

LAUNCH CCS
Create a new project .
Add the C program to
the Project
Add source file to the
project
Add source file
c6713dskinit.c,vector_
poll.asm
Add library
files:rts6700,dsk671
3bsl,csl6713
Add the linker
command file
c6713dsk.cmd
Bulid the project.
Run the Project.
See the output .
12

Result

After running the program, we saw the output on the LEDS.
We found that for various BPM rates the LEDS were blinking at
a different rate.

When we gave input as 120 BPM music we found that the LEDS
were blinking at a faster rate. We found that since in one
second it has 2 beats per second so the LEDS were blinking at a
faster rate.

120 BPM RATE MUSIC SIGNAL




13


Similarly, for 60 BPM rate music we found that LEDs blinking
at slow rate. Here, there is 1 beat per second and 1 Hz
frequency hence the LEDS blink at a slower rate.


60 BPM MUSIC SIGNAL



14

APPLICATIONS


Analysis of QRS Detection Algorithm for Cardiac Abnormalities
AUTOMATIC assessment of Cardiac Vascular Diseases (CVD) for
patients has been a long time research; the cardiovascular disease
is one of the leading causes of death around the world. The cause
of CVD are due to the variations in the heart rate or irregularities
and are characterized by the Electrocardiogram (ECG also known
as EKG, abbreviated from the German Electrocardiogram) beats or
patterns [1], [2]. The ECG signal is a representation of the
bioelectrical activity of the heart representing the cyclical
contraction and relaxation of the human heart muscles. To
acquire the signal, ECG devices with varying number of electrodes
(3 12) can be used. Multi lead systems exceeding 12 and up to
120 electrodes are also available [3]. Accurate detection of the
ECG beats is the key requirement for detecting CVD.

ESTIMATING TEMPO, SWING AND BEAT LOCATIONS IN AUDIO
RECORDINGS:

Beat detection is used to synchronize MIDI instruments or effects
to audio signals. Beat detection can also help in the usually tedious
process of manipulating audio material in audio editing software.

15

ECG Beat Detection Using Filter Banks:

We have designed a multirate digital signal pro- cessing
algorithm to detect heartbeats in the electrocardiogram (ECG).
The algorithm incorporates a filter bank (FB) which
decomposes the ECG into subbands with uniform frequency
bandwidths. The FB-based algorithm enables independent
time and frequency analysis to be performed on a signal.
Features computed from a set of the subbands and a heuristic
detection strategy are used to fuse decisions from multiple
one-channel beat detection algorithms. The overall beat
detection algorithm has a sensitivity of 99.59% and a positive
predictivity of 99.56% against the MIT/BIH database.
Furthermore this is a real-time algorithm since its beat
detection latency is minimal. The FB- based beat detection
algorithm also inherently lends itself to a computationally
efficient structure since the detection logic oper- ates at the
subband rate. The FB-based structure is potentially useful for
performing multiple ECG processing tasks using one set of
preprocessing filters.










16

CONCLUSION


Beat detection is a way of detecting beats in a music signal,
which we show on the LEDS. We used DSK board to analyze the
different BPM rates input signal. Beats are detected according
to the energy of the sampled input music signal. The higher the
energy of the sampled input the faster the beat is detected.
Beat detection helps in various audio applications and medical
equipment. We found that for various BPM rates the LEDS
were blinking at different rates. This project is very useful for
medical purposes like in ECG where we actually detect the beat
of the person. Also, applicable in music industries to determine
the tempo, beat and swing of the music.













17
FUTURE ENHANCEMENTS

Our project is technically not perfect. Whenever, a beat was
detected the LEDS blinked but when the music was stopped
the LEDS didnt stop blinking. It basically arises because we
have flash memory in the DSK board. So, in future we can
encounter this problem and use in various other applications.


























18
BIBLIOGRAPHY

1.www.flipcode.com

2.www.priceton.edu

3.Ruplh Chasing, Donald Reay, Digital Signal Processing
application with the TMS320C613 and TMS320C6416 DSK

You might also like