Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

BPSK Waveform

Status
Not open for further replies.

Tapajit Mondal

New Member
Hello,

The following is a Data waveform modulated as shown in the image. Can someone guide me how to generate the waveform using a MCU / FPGA. I am trying to figure out how to jump between the voltage rails quick enough to generate an acceptable waveform.
 

Attachments

  • AA.jpg
    AA.jpg
    65.4 KB · Views: 159
The only 'slight' difficulty is the three level waveform, centred about zero volts - you will need a little circuitry to create that, and probably two I/O pins from a processor to produce the three levels.

The waveform itself is simple enough, and easily done in assembler with simple loop delays - with pulse widths of 8uS a 4MHz PIC could easily generate it.
 
Tapajit, where the heck did you find that old waveform? It is not very BW efficient and not exactly called BPSK either. It is BPSK + RZ (return to zero) which doubles the bandwidth consumed.

It can be easily generated from the master clock, and dividers with an XOR gate + a couple gates each with resistor divider network.

What data rate? 125 kbps as shown?
 
I am looking some help in the circuitry only.
Quick idea on an envelope. lol

From computer or FPGA. (A, B) Digital data 0/5V could be 0/3.3.
Transistor changes 0/5V to = -5V/0V. Level shifter.
IC1 is simple buffer (could be inverter)
IC2 is also simple buffer BUT the supply is connected to 0V and the "ground pin" is connected to -5V. (output is 0 and -5V)
I chose resistors to get near 50 ohms. Could choose higher values. (if 3.3V supply you will need to change the 680 resistors.
AB=00= -0.35V if I did the math right.
AB=11= +0.35V
AB=01 or 10 you will get 0V.

upload_2017-9-4_21-43-6.png

There are other ways. Maybe 30 different ways. You will need to update the outputs every 2uS.
p.s. looks like I did not do the math right. (voltage divider, 5V to 0.35V, simple math for some one awake)(resistor to +5V and resistor to ground, the third resistor is in parallel with the 56 ohm resistor)
 
Quick idea on an envelope. lol

From computer or FPGA. (A, B) Digital data 0/5V could be 0/3.3.
Transistor changes 0/5V to = -5V/0V. Level shifter.
IC1 is simple buffer (could be inverter)
IC2 is also simple buffer BUT the supply is connected to 0V and the "ground pin" is connected to -5V. (output is 0 and -5V)
I chose resistors to get near 50 ohms. Could choose higher values. (if 3.3V supply you will need to change the 680 resistors.
AB=00= -0.35V if I did the math right.
AB=11= +0.35V
AB=01 or 10 you will get 0V.

View attachment 107861
There are other ways. Maybe 30 different ways. You will need to update the outputs every 2uS.
p.s. looks like I did not do the math right. (voltage divider, 5V to 0.35V, simple math for some one awake)(resistor to +5V and resistor to ground, the third resistor is in parallel with the 56 ohm resistor)

Thank you Mr.Simpson. Ideally I would like to have a ZERO output when the inputs are open or at logic low. Could you please advice how can I do it differently ?

Moreover I would be putting Opto-isolators at the digital input, and unit gain buffer at the analog side. Any suggestion on the selection on the op-amp ??
 
Here is a part.
Many isolators only pull down. This type pulls up and down! I think you can pull 1 mA with out a problem.
The delay through the part is about 50nS. The output rise and fall time is 3nS.
You should drive the LED with 2 to 6mA.
Power supply pins should have a 0.1uf cap.
When the LED is on the output is low. When there is no LED current the output is high.
upload_2017-9-10_14-35-15.png

upload_2017-9-10_14-51-37.png

On the input side:
(top) If input = 0 then the LED current is 3.5mA and the output is low.
If the input = 1 then the LED current is 0 and the output is high.
.................
(bottom) If input = 0 the LED current is 0 and the output is high.
If the input = 1 the LED current is 3mA and the output is low.

On the output side: (about the same as last time)
There is a +5V, 0V and -5V supply
One isolator has an output of 0 or 5V.
The other isolator has an output of -5V or 0V.

Input 0,0 output = 0V
Input 1,0 output = +0.35V
Input 0,1 output = -0.35V
Input 1,1 output = about 0V (not used)
-----edited-----
On the left side (logic) that +5V and ground is not the same as the +5V, gnd, -5V on the right side. It sounds like you want isolation.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top