MATLAB Answers

[zynq communication toolbox] how to specify the sampling rate

3 views (last 30 days)
yao chung chang
yao chung chang on 29 Apr 2017
Commented: Neil MacEwen on 5 May 2017
I built a model based on the QPSK Transmitter example. I got stuck in how to calculate and specify the base-band sampling rate of SDR transmitter block.
I think the baseband sampling rate(4e6) is based on the (1/(sampling time=1e-06))*frame size(4). (see my attached design)
But, unfortunately the TX signal from the spectrum analyzer is not as expected.
please help to point out if I was wrong. Thanks

Answers (2)

Neil MacEwen
Neil MacEwen on 2 May 2017
Hi Jeffrey,
The Baseband sample rate parameter on the SDR transmitter block is the rate at which the sample will be sent by the RF card, i.e. the sampling rate at the DAC. In your model, you have chosen 4Msps. This value is fixed and you must set up the rest of your design to provide enough data to the DAC.
In your model, you have created a source which is generating data at 100kHz (1/100e3), you then put it through an upsampling Rasied Cosine filter which raises the sample rate to 400kHz (where you have this data being sent to the transmitter at 100e3 in frames of 4 samples). So, you have a mismatch between your desired simulation parameters and what the hardware is expecting.
Even with that mismatch, however, Simulink does not run in synchronisation with the hardware, it just runs the simulation as fast as possible. The simulation needs to run fast enough to provide data at 4Msps to the hardware. In your model, you are working with very small frame sizes, which is very inefficient. If you enable the lost samples port on the transmitter block and add a scope to the output you will see that samples are frequently being dropped.
To make your model more efficient, you need to work with larger frames. Please see the attached model for guidance.

yao chung chang
yao chung chang on 3 May 2017
Hi Neil,
I got your point. The rule of thumbs is the sampling rate must be aligned to the sampling rate of DAC. I think I made this mistake due to the minimum sampling rate is 520841.
In this case, should I add an interpolation block to increase the rate from 400khz to at least >= 520841?
Meanwhile, as you mentioned, sample-based is inefficient, and I did try frame-based instead, and the problem is resolved.
  1 Comment
Neil MacEwen
Neil MacEwen on 5 May 2017
Hi Jeffrey,
Yes, you will need to supply data to the hardware at a minimum of 520,841Hz, you could interpolate, or increase the data rate you are attempting to send in the source data block.

Sign in to comment.


Community Treasure Hunt

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

Start Hunting!

Translated by