SonoSense Technologies Inc.
Handheld Spectrum Analyzer
Sanaz Jahanbakhsh (CEO)Johnny Pak (COO)
Naureen Sikder (Head of R&D)Kenneth Wong (CFO)
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 2
SonoSense Technologies Inc.
Outline of Presentation• Introduction• Business Aspects and Prospects• Hardware Components• Software Components• Project Dynamics• Future Plans• Conclusion
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 3
SonoSense Technologies Inc.
Product Overview
“It Rocks!”
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 4
SonoSense Technologies Inc.
System Description
• Handheld Spectrum Analyzer (HSA)
• Standalone Surveying Device
• Processes audible sound waves
• Displays frequency spectrum on LCD
• “Real Time” Updates
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 5
SonoSense Technologies Inc.
System Modules
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 6
SonoSense Technologies Inc.
System Overview
Sound Wave Input
Analog-Digital Converter
Processing Unit
Display Results
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 7
SonoSense Technologies Inc.
Reasons for Implementation• Great Capstone Project
-Courses Used
-Circuit Design Skills
-Programming Skills
-Application of Theory
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 8
SonoSense Technologies Inc.
Business
“Why would we want to buy this?”
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 9
SonoSense Technologies Inc.
Frequency Spectrum Analysis• Purpose
– Measuring Sound Levels– Calibrating instruments
• Specialized market– Musicians and Performers– Event Coordinators– Sound Technicians– Consumer Hobbyists
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 10
SonoSense Technologies Inc.
Business Potentials• Competition
– High Frequency– Low Frequency– Add-on Frequency
• Final Distribution Channel– Direct Online Sales
• Cost Reduction– Brick and mortar associated costs– End distributor costs
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 11
SonoSense Technologies Inc.
Hardware Components
“Did you turn it off and on again?”
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 12
SonoSense Technologies Inc.
Hardware DesignSound Wave Input
Amplifier
Select Input
Switch
Microphone
Analog-Digital Converter
Line-In
Amplifier
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 13
SonoSense Technologies Inc.
Microphone Circuit• Panasonic Electret Microphone (20hz-
20khz range)– Relatively Cheap– Acceptable Response Bandwidth– Easy to Use
• Non-inverting Amplifier (gain of 22)
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 14
SonoSense Technologies Inc.
Line-in Circuit• Universal Standard output from electronic
audio devices
• Jack voltage output of -1V to 1V
• Non-inverting Amplifier (gain 2.5V)
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 15
SonoSense Technologies Inc.
Analog to Digital Converter Circuit• Analog Devices AD974 ADC
– Fast Sampling Rate (200ksps)
– 16 Bit Precision
– DIP Packaging
– SPI interface
– Free
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 16
SonoSense Technologies Inc.
Serial Peripheral Interface Connections
ADC
Voltage from amplifier
SerialClock
SerialData
Read/ConversionClock
Slave Select
MC9328MX1Development
Board
SPI Interface
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 17
SonoSense Technologies Inc.
MC9328MX1 Development Board
• ARM920T 200Mhz Processor
• QVGA Display
• SPI Expansion Port
• USB / Serial Connections
• Obtained from Lucky
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 18
SonoSense Technologies Inc.
Software Components
“Why does Microsoft do this?!”
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 19
SonoSense Technologies Inc.
Operating System Choices• No Operating System (MetroTRK)
– Assembly Language– Difficulty in displaying graphics
• Linux– Open Source SPI Driver Code– Difficulty obtaining development tools– Lack of experience
• Windows– Existing Libraries for GUI Development– Driver Development Functions– Ease of Code Transfer onto MX1
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 20
SonoSense Technologies Inc.
Integrated Development Environments
• IDE to create custom Operating System (Platform Builder)
• IDE to create application on Windows CE 4.2 .Net (Embedded Visual C++)
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 21
SonoSense Technologies Inc.
Application Algorithm
Sample Data From Driver
Process Data (FFT Algorithm)
Average Values
Display Results
Initialize Display Window
Continuous or SnapShot Mode?
Continuous
Mode
Sample Data From Driver
Process Data (FFT Algorithm)
Display Results
Stop Data Collection
User Input (Menu Item Selection)
Snapshot Mode
Stop is Pressed?
Stop Data Collection
Yes
No
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 22
SonoSense Technologies Inc.
OS and Driver Accessing
OperatingSystemLevel
DriverSPI Input
ApplicationLevel
Reading from Driver
Request
Data
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 23
SonoSense Technologies Inc.
Driver
• Stream Driver– Simplicity (reading only)– Easy Interface with application– Direct access to hardware– Meant for streaming data processes
• Application access of driver– Createfile, Openfile, ReadFile, CloseFile
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 24
SonoSense Technologies Inc.
GUI• Main processes constantly checking for
messages running
• Custom Message handling– WM_PAINT– WM_TIMER
• Displaying new bars requires update of display
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 25
SonoSense Technologies Inc.
Sound Processing
Perform FFT
Calculate Power
Average Power Values
Fill Circular Buffer
Digitized Sound Data Array
Time Average of Power Bar Results
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 26
SonoSense Technologies Inc.
Fourier Transform• Decomposition into
Sinusoidal Components for Different Frequencies– X(k) = Frequency
Coefficient– x(n) = Time data– N = Total Input Points
1
0
1
0
2
/2
1
0
2cos)(
2sin)()(
2sin)(
2cos)()(
:
:
10,)()(
N
nIRI
N
nIRR
kN
NkN
kN
Nk
N
NjknN
N
n
knN
N
knnx
N
knnxkX
N
knnx
N
knnxkX
WWpropertyyPeriodicit
WWpropertySymmetry
eWwhere
NkWnxkX
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 27
SonoSense Technologies Inc.
Fast Fourier Transform (FFT)• Algorithm
– Radix-2 (butterfly)
• Options– FFTW, Frequency Analyzers
• Limitation – No Floating Point Unit
• Solution– User integers in lieu of double or floats
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 28
SonoSense Technologies Inc.
Integer FFT• Outdated (written in 1989)
• Uses Short Integers (16 bits)
• Lookup Tables for Sine Values
• Calculates power from fft without using square roots
• Look Up table for Power in dB
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 29
SonoSense Technologies Inc.
SonoSense’s FFT• 1024 points algorithm
• Sampling Rate: 32 kHz
• Frequency Range: 0 Hz – 16 kHz
• Power Measurements in Decibel
• 20ms to Calculate Final power
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 30
SonoSense Technologies Inc.
Frequency Averaging• 512 Frequency Bins• Average Frequency Range for Each Bar• Frequency Distribution over the x-axis:
Bars 1-5 Bars 6-100 - 31.25 500 – 100031.25 – 62.5 1000 – 200062.5 – 125 2000 – 4000 125 – 250 4000 – 8000250 – 500 8000 – 16000
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 31
SonoSense Technologies Inc.
Time Averaging• Circular Buffer
• Disposal of Old Results
• Average of Last 8 Results– Smoother Display
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 32
SonoSense Technologies Inc.
Display• Change of Rectangle Heights Based on
Power Level
• Maximum Power Indicator
• Refresh Rate of 100ms
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 33
SonoSense Technologies Inc.
Project Issues
“Why did you do that?!”
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 34
SonoSense Technologies Inc.
Group Dynamics• Group Dynamics Issues
– Scheduling– Miscommunication
• No Group issues– In the Past Month– Together Everyday for the Past Month
• cohesive bond
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 35
SonoSense Technologies Inc.
Proposed vs. Actual BudgetModule Income
(Cdn)Proposed Costs
(Cdn)Actual Costs (Cdn)
ESSEF Fund $115
Input Module(microphone circuitry, line-in circuitry, switch circuitry)
$25 $30.22
ADC Module ( Interfacing Circuitry, Analog to Digital Conversion Circuitry)
$55 $62.00
Software Development Cost $40 $0
Processing Unit (ARM processor ( $20 per unit [7], onboard chip requirements (RAM/ROM))
$50 $0
Display Unit (LCD display[8]) $120 $0
Memory Unit ( SD Card) $30 $0
Power Module (Battery Requirement) $15 $0
Packaging $20 $4.52
Total $115 $355 $96.76
Difference between proposed / actual costs $258.24
Actual Under-Budget Amount $18.24
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 36
SonoSense Technologies Inc.
Actual Product CostModule Estimated Cost (Cdn)
Input Module(microphone circuitry, line-in circuitry, switch circuitry) $8.66
ADC Module ( Interfacing Circuitry, Analog to Digital Conversion Circuitry) $12.52
Software Development Cost $0
Processing Unit (ARM processor ( $20 per unit [7], onboard chip requirements(RAM/ROM))
$0
Display Unit (LCD display[8]) $0
Memory Unit ( SD Card) $0
Power Module (Battery Requirement) $0
Packaging $4.52
Sub-Total $25.70
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 37
SonoSense Technologies Inc.
Proposed Timeline
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 38
SonoSense Technologies Inc.
Actual Timeline
5/3/20071/19/2007
1/22/2007Proposal
2/19/2007Functional Specs
3/5/2007Design Specs
4/23/2007Software Implementation
4/24/2007Hardware Implementation
3/5/2007Design Specifications and Research
4/24/2007Integration and Testing
4/25/2007Demo Preparation
5/2/2007Post Mortem Completion
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 39
SonoSense Technologies Inc.
Internal Factors• Time Consuming OS Builds and Flashing Time• Longer Learning Curve
– Platform Builder– Embedded Visual C++
• Lack of Experience with Embedded Development
• Not knowing that ARM was lacking FPU Unit• Inefficient Time Management
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 40
SonoSense Technologies Inc.
External Factors• Delay in Obtaining BSP Image• Misleading Documentation• Lack of References in Driver Development• Difficulty in Obtaining Development Tools• Limited Support due to Outdated Operating
System• Inconsistent Results• Occasional Transfer Problems
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 41
SonoSense Technologies Inc.
Areas of Improvement• Reading Manuals Comprehensively
• Ordering Proper Packaged Types of Components
• Better Time Management– Allocating More Time for Integration– Planning Test Strategy
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 42
SonoSense Technologies Inc.
Future Plans• Optimize Display Algorithm• Package Hardware Components • Driver Modification for a different OS• Upgrading OS• Optimize software and Implement More
Features – Analysis of Saved Data– Record Input Sound in WAV format
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 43
SonoSense Technologies Inc.
Conclusion• True Capstone
– True Test of Theoretical and Practical Knowledge– Focus on Technical Side
• Feasible Project– Valuable Knowledge
• E.g. Stream driver on Windows CE OS
• Proof-of-Concept – Marketability to be Explored
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 44
SonoSense Technologies Inc.
Thank You…• Lucky One
• Freescale Technical Support
• Tom Roberts & Malcolm Slaney
• Steve Whitmore
• Fred Heep
• Analog Devices
April 25, 2007 Copyright SonoSense Technologies Inc. 2007 45
SonoSense Technologies Inc.
Questions?“It’s finally over!”