0% found this document useful (0 votes)
121 views

QAMFlowchart

The document outlines the steps to implement a digital communication system including: 1) generating random data, 2) mapping to I and Q, 3) upsampling I and Q, 4) filtering the upsampled signals, 5) generating a digital carrier, 6) multiplying the carrier with the filtered I and Q, and 7) converting the output to analog for analysis, though the person is facing issues viewing the output on an oscilloscope.

Uploaded by

Vasanth Kumar
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as XLS, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
121 views

QAMFlowchart

The document outlines the steps to implement a digital communication system including: 1) generating random data, 2) mapping to I and Q, 3) upsampling I and Q, 4) filtering the upsampled signals, 5) generating a digital carrier, 6) multiplying the carrier with the filtered I and Q, and 7) converting the output to analog for analysis, though the person is facing issues viewing the output on an oscilloscope.

Uploaded by

Vasanth Kumar
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as XLS, PDF, TXT or read online on Scribd
You are on page 1/ 4

S:No Project Algorithm

Generate Random data (or Audio/video signal). You can use PRBS-7 to generate
random data in hardware.converting the data into bit stream (say 1Mbps)
This will be: 0 1 0 0 1 0 1 1 0 0 etc.at t = 0us, 1us, 2us, etc
1

4-QAM data mapper(binary to gray coding) Note: Output of data mapper will have I
and Q each at 0.5MSps
This will be:
(0 1) (0 0) (1 0) (1 1) (0 0) =>
I = -1 1 1 -1 1
Q = 1 1 -1 -1 1
at t = 0us, 2us, 4us, etc
2

Up-sampling I by 8x and Q by 8x (upsampler output is 4MSps on I and 4MSps on Q)


I_up = -100000001000000010000000-100000001...
Q_up = 1000000010000000-10000000-100000001...

at t = 0us, 0.25us, 0.5us, 0.75us, 1.0us etc


3

Filtering with a digital filter with 0.125 normalized cutoff (filter output is 4MSps on I
and 4MSps on Q). Each sample at filter output can be 8-bit fixed pointed (say)
Example: h=gaussfir(0.125)
I_fil = filter(h,1,I_up)
Q_fil = filter(h,1,Q_up)

at t = 0us, 0.25us, 0.5us, 0.75us, 1.0us etc


Please Note: I_fil and Q_fil will be fixed point numbers. 8-bits should be sufficient.
4
Generate digital carrier: cos(2*pi*fc*t) and sin(2*pi*fc*t) in digital where fc = 1MHz
(say). The carrier can also be 8-bit fixed pointed (say)

t = [0:0.25e-6:0.25e-6*100000]; % for simulating 100000 samples


fc = 1e6; % 1MHz

cos(2*pi*fc*t) = 1 0 -1 0 1 0 -1 0 ...
sin(2*pi*fc*t) = 0 1 0 -1 0 1 0 -1 ...

Where t = 0us, 0.25us, 0.5us, 0.75us, 1.0us, etc.


5

Multiply filter output with the digital carrier:


Mixer_output = I_fil*cos(2*pi*fc*t) + Q_fil*sin(2*pi*fc*t) (4-MSps).

Mixer_ouput = I_fil1, Q_fil2, -I_fil3, -Q_fil4, I_fil5, Q_fil6, -I_fil7, -Q_fil8, ...
Where t = 0us, 0.25us, 0.5us, ...
6

Giving Digital Mixer outputs to DAC (8-bit DAC running at 4-MSps)


Connecting DAC output to VSA input through cable
Demodulation by using the VSA software (by setting carrier, sampling rate, etc)
Check Eye diagram, constellation plots, BER, etc
7
Status

Done.He is able to generate random


binary sequence from the input audio
signal

Mapping of the generated binary data


to I and Q is also done

I and Q are upsampled by 8.This is


also done

Filtering the upsampled data I and


Q.This is also done.
Generation of Digital Carrier is also
done.

Multiplying the Digital carrier with the


filtered output from step 4

Pending and he is facing lot


of issues in viewing the
output in Oscilloscope after
converting it to DAC

You might also like