Correlation Control Block¶
Correlation control block takes a pair of uncorrelated digital noise sources in the input and generates a pair of output noise with correlation. The amount of correlation can be selected from a set of pre-defined values. This block is an extension to the Gaussian Random Number block in the CASPER library.
|noise_in1 to noise_in4||IN||8-bit signed||Four uncorrelated streams from the output of the Gaussian Random Number Generator.|
|noise_in5 to noise_in8||IN||8-bit signed||Four uncorrelated streams from the output of the Gaussian Random Number Generator.|
|corr_sel_in||IN||3-bit unsigned||Selection of the amount of correlation coefficient at the output. :: Selection - 0 - uncorrelated (~0%) 1 - 5% correlation 2 - 10% correlation 3 - 20% correlation 4 - 50% correlation 5 - 100% correlation|
|corr_noise_out1 to corr_noise_out4||OUT||8-bit signed (Fix8_7)||Four streams of output digital noise.|
|corr_noise_out5 to corr_noise_out8||OUT||8-bit signed (Fix8_7)||Four streams of output digital noise.|
Correlation Control Block (CCB) is an extension to the existing library block called Gaussian Random Number Generator (GRNG). CCB can be used along with GRNG block to get variable correlation between two input noise channels.
The correlation control block uses an uncorrelated noise source whose coupling to the two input channels is varied to control the correlation. By varying the ratio of the variance of common noise source (Pc) to the variance of input channels (P1 and P2) we get the correlation coefficient as Pc / (P+Pc) (Note: We assume that P1 = P2 = P, i.e. components from input channels have same variance).
Currently, there is a facility to select the following values of correlation through software register - 0% (uncorrelated), 5%, 10%, 20%, 50% and 100% (correlated).
The variable correlation digital noise source design was tested with the GRNG for a 300MHz BW PoCo with 0.89s integration on ROACH.