Correlation Control Block
==========================
| **Block:** Correlation Control Block (``CCB``)
| **Block Author**: Kaushal D. Buch, GMRT, India
| **Document Author**: Kaushal D. Buch, GMRT, India
+--------------------------------------------------------------------------+
| .. raw:: html |
| |
|
|
| |
| .. rubric:: Contents |
| :name: contents |
| |
| .. raw:: html |
| |
|
|
| |
| - `Summary <#summary>`__ |
| - `Ports <#ports>`__ |
| - `Description <#description>`__ |
| - `Test Results <#test-results>`__ |
+--------------------------------------------------------------------------+
Summary
---------
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.
Ports
-------
+--------------------+--------------------+--------------------+---------------------------------------+
| Port | Dir | Data Type | Description |
+====================+====================+====================+=======================================+
| noise\_in1 to | IN | 8-bit signed | Four uncorrelated streams from the |
| noise\_in4 | | | output of the Gaussian Random |
| | | | Number Generator. |
+--------------------+--------------------+--------------------+---------------------------------------+
| noise\_in5 to | IN | 8-bit signed | Four uncorrelated streams from the |
| noise\_in8 | | | 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 | OUT | 8-bit signed | Four streams of output digital noise. |
| to | | (Fix8\_7) | |
| corr\_noise\_out4 | | | |
+--------------------+--------------------+--------------------+---------------------------------------+
| corr\_noise\_out5 | OUT | 8-bit signed | Four streams of output digital noise. |
| to | | (Fix8\_7) | |
| corr\_noise\_out8 | | | |
+--------------------+--------------------+--------------------+---------------------------------------+
Description
-------------
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).
Test Results
--------------
The variable correlation digital noise source design was tested with the
GRNG for a 300MHz BW PoCo with 0.89s integration on ROACH.