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
2024 年 10 月 7 日
It's been updated to the correct equation from doc_2022a.
回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Synchronization and Receiver Design についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!