0
votes

As the graph shows, I have slightly over 0.01 milliseconds delay introduced by transfer function for a simple low-pass ASK filter at the demodulation part. I need to get rid of this delay by any means. Scope Results

  • I tried to increase the frequency at the denominator coefficient of the transfer function, but still with the same delay.
  • In the last attempts, I tried to create a subsystem that outputs binary 1 at interval or 0.5 milliseconds if it is bigger than 0.5e-6 as threshold, and hold the value until the coming 1.5 millisecond where it should outputs 0 if it is less than 0.05e-6 and so on. I tried to follow this here, but it didn't work on my scenario. I also tried this here, but my attempts failed.

Here is an overall implementation for the demodulation part using simulink.ASK demodulation block

And the following is the transfer function for a simple low-pass ASK filter: Low-Pass Filter Transfer Func

Help here is much appreciated.

1
This is the group delay of the filter which manifests as a start up transient. Since you are doing ASK, the filter has to start back up each time a run of zeros. Why exactly are you using a filter? You should be able to just multiply your oscillator by your modulating signal. If you your modulating signal alternates between 0 and 1, the transmitter is on for a 1 and off for a 0.fstop_22
@fstop_22 I am using the filter to distinguish between the binary bits. As I have edited the question, you can see that I have already multiplied the oscillator by the modulating signal. I need the filter just to get rid of the noise added to the channel. I need to get rid of the White Noise of power 50 which totally changes the behaviour of the received signal.Sam Al-Ghammari
If you are trying to detect the received OOK, why don't you baseband the signal and look at the magnitude. If the magnitude is above a threshold, it it a 1. Else it is a zero.fstop_22

1 Answers

0
votes

It is impossible for a linear filter to filter a signal (for any finite bandwidth above DC) without a delay. It takes some time (usually related to the period of the center frequency of a bandpass filter), for the filter to gather enough information from the signal to differentiate between a waveform to pass and a waveform to attenuate.

You might be able to pass a sharper rise time or fall time by using a matched filter with the expected transient(s) as the template(s), but that would have an even greater delay.

Usually this delay is accounted for by using a matching delay in other parts of the system to synchronize timing as needed.