Error in comm.CarrierSynchronizer documentation?

I guess there could be an error in the documentation of comm.CarrierSynchronizer: the quantity theta should be defined as
(Bn * T) / (zeta + 1/(4*zeta))
according to eq. C.57 of the reference [1], where T (which is missing in the formula of the documentation) is the sampling period.
In the code of comm.CarrierSynchronizer it is actually defined like that (lines 452-462):
PhaseRecoveryLoopBandwidth = cast(...
obj.NormalizedLoopBandwidth *obj.SamplesPerSymbol, ...
obj.pInputDataType);
% K0
PhaseRecoveryGain = cast(obj.SamplesPerSymbol,...
obj.pInputDataType);
theta = PhaseRecoveryLoopBandwidth/...
((obj.DampingFactor + 0.25/obj.DampingFactor)*...
obj.SamplesPerSymbol);
where obj.NormalizedLoopBandwidth is the loop bandwidth normalized to the input sampling rate, therefore equal to Bn * T, and SamplesPerSynbol cancels out between numerator and denominator.

1 件のコメント

Saurav
Saurav 2024 年 10 月 7 日
It's been updated to the correct equation from doc_2022a.

サインインしてコメントする。

回答 (0 件)

カテゴリ

質問済み:

V R
2021 年 6 月 5 日

コメント済み:

2024 年 10 月 7 日

Community Treasure Hunt

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

Start Hunting!

Translated by