Delay issue from Buffer/Unbuffer block

3 views (last 30 days)
Fumihiko Sato
Fumihiko Sato on 10 Oct 2024
Answered: vidyesh on 28 Oct 2024
Hello Community Experts,
I'm seeking assistance with my E2E wireless communication simulation, which consists of three components: Baseband Tx (DBPSK modulation), RF Receiver, and Baseband Rx (Direct Conversion method). Here are the details:
Baseband Tx:
  • Original bits: 208, padded with 10 zeros → Total Tx bits: 218
  • Modulation: DBPSK
  • Filter: RRX Tx filter, filter span = 10, output samples per symbol = 2
RF Receiver:
  • Input: Use Unbuffer block to convert 436 samples (218*2) to 1 sample per frame.
  • Output: Use Buffer block to convert 1 sample back to 436 samples (Output Buffer size = 436).
  • Other configuration as below screenshot
Baseband Rx:
  • AGC desired output: 0.5 W
  • Filter: RRX Rx filter, filter span = 10, input samples per symbol = 2, Decimation Factor = 2
  • Tail padding removal: 208 bits before demodulation
  • Demodulation: DBPSK and convert bit stream back to string.
The issue is that the first frame (first 208 bits or possbily 218 bits) consistently outputs '0'. It seems there's an unintended delay in the model, but I can't pinpoint where.
Could anyone please suggest how to eliminate this delay? or is it possbile that is come from other cause?
Thank you!
Best Regards,
Fumihiko Sato
  1 Comment
Fumihiko Sato
Fumihiko Sato on 11 Oct 2024
Hello all,
I'd like to update on this.
I recreated a simple version to identify the source of the delay, as shown in the attached screenshot. The total source bit is 60 (50+10) with a sample time of 10.
It appears that the delay is being introduced by the "Buffer" block, as evidenced by the captured signal in the Scope block. The signal after the Buffer block shows an exact delay of 10 seconds, which corresponds to a 1-frame delay.
Is there a way to address this delay, or could we consider ignoring the data from the first frame that is being delayed?
Best Regards,
Fumihiko Sato

Sign in to comment.

Answers (1)

vidyesh
vidyesh on 28 Oct 2024
Hello Fumihiko Sato,
Please refer to the following documentation pages on how "receive delay" can be calculated and how to address it.
  1. Find Delay block: https://www.mathworks.com/help/comm/ref/finddelay.html
  2. Set Receive Delay Using Find Delay Block: https://www.mathworks.com/help/comm/ug/use-delay-block-to-calculate-receive-delay.html
  3. Calculate Receive Delay for Error Rate Block: https://www.mathworks.com/help/comm/ug/calculate-receive-delay-for-error-rate-block.html
Hope this helps.

Products


Release

R2024b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!