1 / 24

IMPLEMENTATION OF DSP RADIO RECEIVER Amaar Ahmad Syed

IMPLEMENTATION OF DSP RADIO RECEIVER Amaar Ahmad Syed. Project Goal Implementation of a multi-demodulation scheme radio receiver using the DSP Board Avr-32 that houses the Texas Instruments 320C32. Dalanco Avr-32 DSP board. Overview

lesa
Télécharger la présentation

IMPLEMENTATION OF DSP RADIO RECEIVER Amaar Ahmad Syed

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IMPLEMENTATION OF DSP RADIO RECEIVERAmaar Ahmad Syed

  2. Project GoalImplementation of a multi-demodulation scheme radio receiver using the DSP Board Avr-32 that houses the Texas Instruments 320C32

  3. Dalanco Avr-32 DSP board Overview “ The Model AVR-32 is a high performance signal processing and data acquisition board for the PCI Bus designed for desktop and embedded applications. Processing power is provided by the Texas Instruments TMS320C32 DSP and Xilinx Virtex FPGA. High speed A/D and D/A converters and a digital data connector form the I/O section. The digital data connector may be configured as an IDE connector for direct-to-disk data acquisition and playback applications” (Dalanco Spry)    Key Features 1. TI TMS320C32 DSP at 60 MHz 2. Xilinx Virtex FPGA 3. 512K Bytes SRAM 4. 512K Bytes Flash Memory 5. 3 MSPS or 25 MSPS 12 bit A/D Converter 6. 3 MSPS 12 bit D/A Converter

  4. Target Schemes1. Amplitude Modulation 2. Single Side Band Modulation3. Frequency Modulation

  5. Analog Input sent through the CPU’s I/O port ADC (Analog to digital converter) Cathode ray Oscilloscope (CRO) for wave and signal display Xilinx FPGA for handling input/output TMS320C32 DSP runs the Demodulation programs Analog Output sent through the CPU’s I/O port Wave Generator DAC (digital to analog converter) Response from the Avr-32 appears on the screen Command & instruction entry to Avr-32 Monitor Screen Keyboard for control Overall System Schematic CPU System houses the PCB-slotted Avr-32

  6. Actual System Setup Wave Generator CPU with the Avr-32 DSP board Cathode Ray Oscilloscope (CRO) Keyboard for controlling DSP

  7. Square-Law Envelope AM Detector x(n) H(w) Lowpass filter y(n) (.)2 √(.) Amplitude Demodulation

  8. Adding I and Q channels gives USB whereas subtracting them gives LSB Cos(2 п nfc/F) X(n) X Bandpass filter I(n) -Sin(2 п nfc/F) X Hilbert filter Q(n) Single Side Band Demodulation

  9. FM demodulation by phase detection I(n) Arc tangent Different-iator filter y(n) Q(n) Frequency Demodulation

  10. Signal Processing (1) Reading Input and Output Signaling1. Avr-32 uses default FPGA configuration2. Input/Output transmission of any data value requires formatting of the sort 80BFH(80b is the Hex value read or written to the I/O buffer and F is format specific of the FPGA configuration)

  11. Following is an example of a single 25 Tap FIR memory usage. An additional FIR filter inside the same program would have similar memory usage except that it would start at other locations like 16A0H for h[n] and 16F0H for x[n]. h[n] starts at 100H • Calibration of the Cathode Ray Oscilloscope1. Integer values send to and from the ADC and DAC range from 000H to FFFH that have to be formatted.2. 000H measures -2.19 V, 80B measures 0 V , FFFH measures 2.24 V3. Floating points can be used but the digital signal processing for the project used the Avr-32’s integer format All these locations are initialized to zero as dummy inputs 25 input memory locations used in producing every output. This time it is y[3]. Input x[n] fills in this direction for 1000H locations Maximum address for input storage Fig. 7 DSP RAM Memory

  12. Signal Processing (2) 1. FIR filter of N Taps N y[n]=∑h[k] ×x[k-n] or H(z)=1+a×z-1+b×z-2+c×z-3 +… k=0 Implementation Algorithm Store N weights (max weight is N hex ) and N zeros as initialized inputs in pre-determined memory locations Loc1 and Loc2 respectively Read x[n] from ADC, store it in Loc2, perform the convolution equation and re-adjust filter program’s pointers to Loc2 After a window of 1000 locations for x[n] have been filled, revolve the last N inputs to the original Loc2 …Repeat

  13. Signal Processing (3) 2. Magnitude scaling of real-time FIR There are can be no decimals in integer format. Thus, relative scaling is performed to get desired response. Example If an input sample x[n] is 67H and its convolved sum using the convolution equation with 25 taps becomes 4237 H then not only is this figure is too much for the DAC but also lager than the original value. Scaling 4237 H is scaled down to a range of less than FFF to a value corresponding to 4.0 V (i.e 0CCFH) Question Isn’t an FIR filter supposed to attenuate or at most not change the input value? Answer Yes that is true but here it is the relative difference that counts. We need a voltage level sufficient for audibility (since this value will be fed into a speaker for listening to radio broadcast) Those x[n]s whose processed output y[n] is to be attenuated, their corresponding value will be much less than 0CCFH

  14. Actual Frequency Response

  15. ADC Sampling Rates and Program Speed Digital frequency = input frequency / sampling rate * 2*pi We need high sampling rates to offset quantization noise But limit on sampling rate imposed by program’s processing time for every input x[n] N is number of taps AM cycles 93+ N SSB cycles 133+ 2N Thus for AM demodulation, the max sampling rate is 60 MHz/ (93 +N) or about 500 KHz per sample for a 25 tap filter

  16. Digital Oscillator I[n] = x[n] × sin (2π ωc) Q[n] = x[n] × cos(2π ωc) s1[n+1]= cos θ × s1[n] + (cos θ +1) × s2[n] for sine s2[n+1]= (cos θ -1) × s1[n] + cos θ × s2[n] for cosine ‘cos θ’ generated by arithmeaticall right shifting the contents of register having the values of s1 or s2

  17. -sin (2πωc) FIR 1 De-formatted input from ADC x Digital Oscillator Cos(2πωc) FIR 2 I / Q channels and dual filter implementation in Master-Program

  18. Testing using MATLAB simulation MATLAB used in generating tap coefficients for the FIR filters. FFTs used to estimate the desired filter frequency response and compare with actual response. Example (To check Band-Pass Filtering for AM) Input: A sinusoid with a 1.0 V peak to peak sinusoid provided FIR Taps: -1 -9 1 10 -1 -10 1 10 -1 -10 1 11 -1 -11 1 11 -1 -11 1 12 -1 -12 1 (25 taps burned in RAM memory) Desired Output: The a sinusoidal wave should be generated between 4 to 7 KHz with very low peak to peaks on either side of this band. Test Output: Band-pass range of 5.1 and 8.4 KHz and low peak to peaks on either side

  19. Project Re-Assessment 1. End of Project Goals met for AM and SSB , FM is incomplete 2. Frequency Translation (Project expansion) AM, FM or SSB signals too high frequency for the ADC or the processor to handle. Tunable frequency down-conversion required for a complete communications system to handle the radio bandwidth. 3. System as a Digital Receiver (Project expansion) The DSP receiver already has digital oscillator, mixers and multiple filtering modules. This system can act as a prototype for handling digital demodulation schemes as well. Programmability offers versatility in running numerous Digital and of course analog schemes

  20. Actual Lowpass Filtering on CRO The lower wave is the input and the upper one is the attenuated output with a frequency more than the cutoff

  21. Amplitude Demodulation The first CRO wave is the simulated squared AM signal. The second CRO wave is the demodulated DC component after lowpass filtering of the same wave.

  22. Single Side Band Demodulation The first figure above is the simulated wave for the USB signal. The second sinusoidal CRO wave is the recovered message from the signal.

  23. Hilbert Filtering The above CRO waves show the effect of a Hilbert filter. Notice the 90 degree phase difference between the input and the output

  24. Finished!

More Related