26
Assembling an FM Receiver Like Blazes by GNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FM Receiver Architecture GNU Radio Companion Digital Signal Processing Concluding Remarks References Assembling an FM Receiver Like Blazes by GNU Radio Albert Chun-Chieh Huang January 21, 2013

Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Assembling an FM Receiver Like Blazes

by GNU Radio

Albert Chun-Chieh Huang

January 21, 2013

Page 2: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

About the Author

He is both a programmer and a communication engineer.He learned Python in 2000 and has used it extensively onimproving his workflow ever since. He has been working incommunication IC industry for more than eight years. Hisinterests include communication engineering andengineering communication, which consists of fields fromphysical layer to MAC layer as well as typesetting.

Blog: Random Notes,http://alberthuang314.blogspot.com/

LinkedIn:http://www.linkedin.com/in/alberthuang314

Email address: alberthuang314 AT gmail DOT com

Page 3: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Outline

1 GNU Radio Revisited

2 FM Receiver Architecture

3 GNU Radio Companion

4 Digital Signal Processing

5 Concluding Remarks

Page 4: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

GNU Radio Revisited

In the previous talk, we introduced both software-definedradio and GNU Radio.

http://goo.gl/tQK0W

GNU Radio

is a free & open-source software development toolkit thatprovides signal processing blocks to implement softwareradios.primarily written in Python with performance-critical signalprocessing components written in C++ [1].C++ classes are wrapped by SWIG [2].

You can get NT$900 software-defined radio platform withRTL2832U-based DVB dongles.

Page 5: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

FM Broadcasting

Pioneered by Edwin Howard Armstrong (1890–1954) in1936.

FM broadcasting has better quality than AM broadcasting.

AM still has its important role in aircraft communicationbecause audio quality in AM is linearly porportional toSNR, while FM is not.

Page 6: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Frequency Modulation

http://en.wikipedia.org/wiki/File:Amfm3-en-de.gif

Page 7: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Frequency Domain Concept

Time Domain

0 1 2 3 4-2

-1

0

1

2

1 second

Frequency Domain

0 1 2 3 40

1

2

3

4

Frequency

Magnitude

2 Hz

Page 8: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Frequency Domain: Single-Sided v.s. Double-Sided

0 1 2 3 40

1

2

3

4

Frequency

Magnitude

2 Hz

-3 -2 -1 0 1 2 30

1

2

3

4

Frequency

Magnitude

2 Hz-2 Hz

Page 9: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

FM Broadcasting Spectrum

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

0.03 15 23 38 53 Frequency (kHz)

MonoL+R

19 kHzstereopilot

Stereo L-R(DSB-SC)

Page 10: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

What Is a Mixer?

I'm a building with an elevator

Entrance

Exit

I'm EM wave, a.k.a. passband signal.

BW

BW

Carrier FrequencyI'm

baseband signal now!

This building with an elevator

is mixer!

Page 11: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Direct Conversion Receiver

-1 0 1 2 3 4 5 6 7 8 90

1

2

3

4

5

Mixer

Local Oscillator = Carrier Frequency, i.e. Fc

Input Signal(Passband) Baseband signal

Page 12: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Superheterodyne Receiver

-1 0 1 2 3 4 5 6 7 8 90

1

2

3

4

5

Mixer

bInput Signal

PassbandDemodulatorIF

Intermediate Frequency

b

LO = Fc + IF

Page 13: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Superheterodyne v.s. Direct Conversion

Direct conversion is a straighforward receiver architecture.

Superheterodyne receiver architecture was invented byEdwin Howard Armstrong (1890–1954) in 1918.

Superheterodyne

is more complexhas much better performance

In modern digital communication, direct conversion iswidely employed due to its simplicity.

Page 14: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Elonics E4000 Receiver Architecture

Page 15: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

GNU Radio Companion

Written in Python, GTK, LXML, and Cheetah

Useful to build a communication system in a visualizingway

Ready to execute after GNU Radio is installed

% gnuradio-companion

Page 16: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Building FM Receiver by GNU Radio Companion

Required Components w.r.t. Signal Flow

RTLSDR SourceWBFM Receive PLLMultiply ConstantAudio Sink

Auxiliary Components

WX GUI Scope SinkWX GUI FFT Sink

Page 17: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Glue Components Together

Clicking an output port followed by an input port willmake a connection

Building signal flow: RTLSDR Source → WBFM ReceivePLL → Multiply Constant → Audio Sink

Save, Generate, and Execute!

Download above GRC file from http://goo.gl/Uu1W1

Page 18: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Seeing Is Believing!

How can we know where the problem is?

WX GUI Scope Sink can help you to observe time domainsignals.

WX GUI FFT Sink can help you to observe frequencyspectrum.

Page 19: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

FM Receiver with Scope and Spectrum Analyzer

Add WX GUI Scope Sink before audio sink

Set sampling rate to 2x more than 48kHzAdjust X width

Add WX GUI FFT GUI Sink after RTLSDR sink

Set sampling rate to 2MHzSet FFT size to 512

Download above GRC file from http://goo.gl/ym1Og

Sounds noisy, huh?

Page 20: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Filtering

Filtering is to cancel or reduce signals you don’t want, likenoise or other’s signal.

Cutoff frequency

Highest frequency of passband for a low pass filterLowest freqeuncy of passband for a high pass filter

Transition region

Region between cutoff frequency and stop band

Page 21: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Frequency Response

200 300 400 500 600 700 800 900 1000Wavelength (nm)

-30

-20

-10

0

10

20

Transm

ittance

(dB)

Transmittance for Circular Polarizers

Page 22: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Filtering in GNU Radio Companion

Add low pass filter after RTLSDR sink

Set Sampling rate to 2MHz to match RTLSDR sinkSet cutoff frequency to 120kHzSet transition region to 50kHz

Wider transition region has lower computing complexity

Leave others untouched

Download GRC file from http://goo.gl/JLnG1

Sounds a little better? Let’s see.

Page 23: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Observing Signals Before/After Filters

Page 24: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Concluding Remarks

GNU Radio Companion provides very easy and intuitiveway to create digital signal processing chain!

There are many already-existed components to let usexperiment communication systems by trial-and-error!

We don’t have to write one line of code to build an FMreceiver!

Don’t wait to have fun on communication systems byinstalling GNU Radio tonight!

Page 25: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

Q & A

Page 26: Huang AssemblinganFMReceiverLikeBlazes byGNURadioAssemblingan FMReceiver LikeBlazes byGNU Radio Albert Chun-Chieh Huang GNU Radio Revisited FMReceiver Architecture GNU Radio Companion

Assembling an

FM Receiver

Like Blazes

by GNU Radio

Albert

Chun-Chieh

Huang

GNU Radio

Revisited

FM Receiver

Architecture

GNU Radio

Companion

Digital Signal

Processing

Concluding

Remarks

References

References

GNU Radio Project Wiki, [Online]. Available:http://gnuradio.org/redmine/projects/gnuradio/wiki

SWIG - Simple Wrapper and Interface Generator,[Online]. Available: http://swig.org.