Electronics > Beginners

Demodulation of a data

<< < (3/4) > >>

vk6zgo:

--- Quote from: fateme mrbs on August 21, 2018, 08:23:08 am ---
--- Quote from: Benta on August 20, 2018, 04:08:45 pm ---
--- Quote from: fateme mrbs on August 20, 2018, 03:35:55 pm ---Thanks for your answer.
I already tried low pas filtering. It doesn't give a neat pulse.

--- End quote ---

That's why you need to amplify afterwards. Otherwise you won't get a square wave.

--- End quote ---

the problem is that the low level after low pass filtering is above zero and an amplifier will amplify both high and low levels. so again I won't get an square wave.

--- End quote ---

Retro style was to amplify the hell out of it, then clip it savagely both top & bottom.

Benta:

--- Quote from: fateme mrbs on August 21, 2018, 08:23:08 am ---
--- Quote from: Benta on August 20, 2018, 04:08:45 pm ---
--- Quote from: fateme mrbs on August 20, 2018, 03:35:55 pm ---Thanks for your answer.
I already tried low pas filtering. It doesn't give a neat pulse.

--- End quote ---

That's why you need to amplify afterwards. Otherwise you won't get a square wave.

--- End quote ---

the problem is that the low level after low pass filtering is above zero and an amplifier will amplify both high and low levels. so again I won't get an square wave.

--- End quote ---

That's not a problem, it's a feature   ;)

Imagine low pass filtering the signal so you get something sinewave-like. That's your demodulated signal.
Low pass filter your demodulated signal until the sine wave is gone. That's your DC reference (in the middle of the sine wave).
Feed both to a differential amplifier to make a square wave.

rhb:
Two  approaches come to mind:

count pulses if that's applicable

measure the time since the last pulse

In either case, use a delay line to synchronize the input and output.  Fundamentally that's what oscilloscope trigger circuits do.  The signal is delayed a bit so that the trigger logic has time to determine if it should start a sweep.

If you absolutely can't tolerate the latency of the delay line, use two analog correlators and feed the outputs to a comparator.

If the two signals are constant, sample and feed to a pair of shift registers wired to to do an AND of the two patterns. 

Or clock the samples through a shift register, use the contents as an address into a lookup table that gives the desired output.  The latter approach has the advantage that you can populate the LUT to accommodate variable timing and amplitude.  At the price of a larger LUT.

fateme mrbs:

--- Quote from: mikerj on August 20, 2018, 04:51:14 pm ---.  There will always be some latency between input and output.


--- End quote ---
the latency is not important. but the width of the pulse is. it should only cover the higher level pulses

mikerj:

--- Quote from: fateme mrbs on August 25, 2018, 10:13:55 am ---
--- Quote from: mikerj on August 20, 2018, 04:51:14 pm ---.  There will always be some latency between input and output.


--- End quote ---
the latency is not important. but the width of the pulse is. it should only cover the higher level pulses

--- End quote ---

Maybe we need to step back a bit here, as I'm not familiar with the way you are generating these pulses.   Does each separate pulse represent one bit, or is one bit represented by many pulses (e.g. 8 pulses for a logic 1)?  If the latter, if there always the exact same number of pulses and pulse timing for each bit?

If there are multiple pulses per bit this will not be easy to demodulate to meet your requirement above, certainly a low pass filter and slicer isn't going to cut it.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod