View
2
Download
0
Category
Preview:
Citation preview
Coding & Signal Processing for Holographic Data Storage
Vijayakumar Bhagavatula
2
AcknowledgementsAcknowledgementsAcknowledgements
Venkatesh VaddeMehmet KeskinozSheida NabaviLakshmi RamamoorthyKevin Curtis, Adrian Hill & Mark Ayres (InPhase)NIST (ATP program)
3
OutlineOutlineOutline
Holographic data storage (HDS) basicsEqualizationAdvanced detectionModulation codingError correction codingInterleavingOver-samplingSummary
4
What is a Hologram?What is a Hologram?
5
Diff
ract
ed In
tens
ity
Sample Angle (Degrees)
Thickness determines width of Bragg peak
Δθ = λ/(2 sin(θο) L) first null
Λ = λ/ 2 sin(θο)
θ
L
Bragg SelectivityBragg Selectivity
Different data pages recorded with different angle referencesA data page reconstructed by addressing the volume hologram with a particular reference beam angle
6
Holographic Data StorageHolographic Data Storage
FeatureParallel access
(million vs. one bit data transfers)
Volumetric Storage(Overlap many datapages in one location)
Removable Media
BenefitFast data transfer rates
Ultrahigh storagedensities
Transportability
Recording Data
Reading Data
Modulator
Data tobe stored
Data Pages
StorageMedium
Reference Arm
Laser
LaserRecovered Data
RecoveredData Pages
Reference Arm
DetectorArray
Courtesy: InPhase Technologies
Initial MarketsProfessional Video ArchivalFixed Content: Banking, Insurance, Medical, Security & surveillance, Scientific dataData Archive
7
Tapestry300r SpecsTapestry300r Specs
Courtesy: InPhase Technologies
8
Holographic Data Storage (HDS)Holographic Data Storage (HDS)Holographic Data Storage (HDS)
fL
fL
Detector (Camera)
Iij
IntensityData
FourierLens
θ
BinaryData
fL
fL
Spatial LightModulator
(SLM)
λ
LaserWavelength
FourierLens
ReferenceBeam
Medium
Aperture
dij
D
D
Δ
Fourier transform (FT) of data page recordedA typical 4-f architecture shown hereOther HDS architectures exist
9
Example Data PageExample Data Page
10
HDS Channels ChallengesHDS Channels Challenges
Two-dimensional inter-symbol interference due to page-oriented nature of holographic storage
Low signal-to-noise ratios when many pages are stored in the same volume (Diffraction efficiency decreases as the number of pages in a volume increases)
Complicated noise: electronic noise, optical noiseOutput photo-detector array detects intensity, not amplitudeInput SLM and Output CCD array mismatches can lead to
misalignment of pixelsNeed for balanced (i.e., equal gray level) input regionsNon-ideal SLM/CCD parameters (e.g., finite contrast, fill factors, etc.)
11
HDS ChannelHDS ChannelHDS Channel
Equalization
ModulationdecodingDetection
Inputdata
Retrieveddata
Modulationencoding
Error correctionencoding
Errorcorrectiondecoding
Medium
W
R
I T
E
R
E A
D
12
HDS Channels: ApproachesHDS Channels: ApproachesHDS Channels: Approaches
EqualizationAdvanced detectionModulation codingError correction codingInterleavingOver-sampling
13
HDS Channel ModelHDS Channel ModelHDS Channel Model
Impairments:Light source: non-flat input illuminationSpatial Light Modulator (SLM): finite contrast ratio, non-uniformity, non-full fill-factor, phase maskStorage medium: aperture, optical noiseCamera: non-full fill-factor, dark noise, electronic noise, quantization
fL
fL
Detector (Camera)
Iij
IntensityData
FourierLens
θ
BinaryData
fL
fL
Spatial LightModulator
(SLM)
λ
LaserWavelength
FourierLens
Beam
Medium
Aperture
dij
D
D
Δ
Reference
2( , ) ( , ) ( , ) ( , ) ( , )o eu x y a x y h x y n x y n x y K= ∗ + + +
14
Light source10% decrease in intensity by the corners
SLMACR = 10Non-uniformity = 1%Number of phase mask levels = 16SLM fill-factor = 0.95 (area)
CameraCamera fill- factor = 0.40 (area)Dark noise = 10% (intensity)Number of detector quantization bits = 6
Simulator ParametersSimulator ParametersSimulator Parameters
15
Histogram ComparisonHistogram ComparisonHistogram Comparison
RealReal SimulatedSimulated
16
HDS Channels: ApproachesHDS Channels: ApproachesHDS Channels: Approaches
EqualizationAdvanced detectionSparse codingError correction codingInterleavingOver-sampling
17
2-D Inter-symbol Interference
Channel
h(x,y)
Pixel SpreadFunction (PSF)
Impulse
18
Coefficients wjm (3x3) are selected to minimize the mean squared error between the ideal and equalized outputs.Different set of coefficients for each 64×64 block in the page.
1 1
( )( )1 1
ˆN N
kl jm k j l mj N m N
a w I K− −
− −=− + =− +
= +∑ ∑
Camera output from the (k, l) pixel
Coefficients of the (2N-1)×(2N-1) equalizer
Equalized output
MMSE EqualizerMMSE Equalizer
Bias
Error Correctionencoding
Channel EqualizationError
Correctiondecoding
DetectionInputdata
Retrieveddata
19
Improvement from EqualizerImprovement from Equalizer
Before equalization After MMSE equalization
20
BER ImprovementBER Improvement
About 15% improvement In BER
pagespages
BE
RB
ER
21
Equalizers more useful at higher SNREqualizers more useful at higher SNREqualizers more useful at higher SNR
22
HDS Channels: ApproachesHDS Channels: ApproachesHDS Channels: Approaches
EqualizationAdvanced detectionModulation codingError correction codingInterleavingOver-sampling
23
DetectorDetector
Detection methods include Fixed thresholdAdaptive threshold1D Viterbi/DFE
Minimum probability of error detector based on log-likelihood ratios (LLRs)
Square root of camera output LLRs
Obtain mean of the block and use as
threshold to separate 1s and 0s
Process block-wise
for blocks of size n×n
Obtain means of 0s (m0) and 1s (m1) and average of standard deviation of
0s and 1s (σ)
Error Correctionencoding
Channel EqualizationError
Correctiondecoding
DetectionInputdata
Retrieveddata
Pr (y|x=1)___________
Pr (y|x=0)
24
Optical Noise or Electronic Noise?Optical Noise or Electronic Noise?
0 200 400 600 800 1000 12000
5000
10000
15000Histogram of simulated page with dominant optical noise
Distribution of onesDistribution of zeros
0 200 400 600 800 1000 12000
500
1000
1500
2000
2500
3000
3500
4000
4500
5000Histogram of simulated page with dominant electronic noise
Distribution of onesDistribution of zeros
0 200 400 600 800 1000 12000
1000
2000
3000
4000
5000
6000Histogram of simulated page with equal optical and electronic noise
Distribution of onesDistribution of zeros
0 200 400 600 800 1000 12000
0.5
1
1.5
2
2.5
3
3.5
4
4.5x 104 Histogram of real recovered page
Distribution of onesDistribution of zeros
All 4 pages have SNR of about 3 dB.
25
BER using actual PDF 30% better than the BER using Gauss PDF.Using the actual PDF consistently improves BER for all pages.
0 10 20 30 40 50 60 70 80 90 100
0.08
0.09
0.1
0.11
0.12
0.13
0.14
0.15
0.16
Page no.
BE
R
BER
Actual PDF based LLRGaussian PDF based LLR
LLR Detector PerformanceLLR Detector Performance
26
HDS Channels: ApproachesHDS Channels: ApproachesHDS Channels: Approaches
EqualizationAdvanced detectionModulation codingError correction codingInterleavingOver-sampling
27
Balanced CodesBalanced Codes
Keep the average intensity over small regions same to achieve tolerance to illumination variations
2:4 BC with rate ½, 4C2 = 6 patterns
4:6 BC with rate 2/3, 6C3 = 20 patterns
6:8 BC with rate ¾, 8C4 = 70 patterns
28
Sparse Modulation Codes Sparse Modulation Codes
Sparse modulation codes can increase the total storage capacity by 15% by using data pages that contain on average 25% ON pixels.B. M. King and M. A. Neifeld, “Sparse modulation coding for increased capacity in volume holographic storage,” Applied Optics, Vol. 39, No. 35, pp 6681-6688, 2000.
Error Correctionencoding
ChannelSparse
Modulationencoding
Inputdata
Retrieveddata
Error Correctiondecoding
Sparse Modulationdecoding
29
Use of Sparse CodesUse of Sparse Codes
20 30 40 50 60 70 80 90 1000
0.01
0.02
0.03
0.04
0.05
0.06
0.07
cSNR
Bit
erro
r rat
eBER of dense versus sparse pages
Dense data pages25% sparse (24,6,17)
Sparse codes can lead to improved BER performance
30
HDS Channels: ApproachesHDS Channels: ApproachesHDS Channels: Approaches
EqualizationAdvanced detectionModulation codingError correction codingInterleavingOver-sampling
31
LDPC CodesLDPC Codes
These are codes based on sparse parity check matrices.
Every column has same weight j (here j=2).
⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
010001100001100010100010001100100100010010010001001001
H
N
M
Error Correctionencoding
Channel EqualizationError
Correctiondecoding
DetectionInputdata
Retrieveddata
32
Hard/Soft DecisionsHard/Soft Decisions
-10 -8 -6 -4 -2 0 2 4 6 8 10-1
-0.8-0.6-0.4-0.2
00.20.40.60.8
1
LLR
Exp
ecte
d V
alue
of a
k
-10 -8 -6 -4 -2 0 2 4 6 8 10-1
-0.8-0.6-0.4-0.2
00.20.40.60.8
1
LLR
Exp
ecte
d V
alue
of a
k
Soft Decision
Hard Decision
-10 -8 -6 -4 -2 0 2 4 6 8 10-1
-0.8-0.6-0.4-0.2
00.20.40.60.8
1
LLR
Exp
ecte
d V
alue
of a
k
-10 -8 -6 -4 -2 0 2 4 6 8 10-1
-0.8-0.6-0.4-0.2
00.20.40.60.8
1
LLR
Exp
ecte
d V
alue
of a
k
Soft Decision
Hard Decision
Dec
isio
n
Log-Likelihood Ratio (LLR) = log
Larger- magnitude LLRs represent more confident decisionsIterations can be used to improve decisions
Prob. of bit 1Prob. of bit 0
33
Code specificationsCode specificationsRate = ½, regular LDPC code with column weight = 3, quasi cyclic H matrix. SumSum--product algorithm (SPA) for LDPC decoderproduct algorithm (SPA) for LDPC decoder
SPA determines the maximum a posterior (MAP) estimate of the true value xkfrom the PDF of the true value xk given the observations y1, y2, …, yN and the parity-check matrix H
l1 l2 l3
m1 m2
l4 l5
25 mlq →12 lmr →
( )
∑
∑
∏
∈→
∈→→
∈→
−→
→
+=
+=
⎟⎟⎠
⎞⎜⎜⎝
⎛=
=
)(
\)(
\)(
1
)()()(
)()()(
2/)(tanhtanh2)(
)()(
''
''
lMmlmll
mlMmlmlml
lmLlmllm
lml
rLpLqL
rLpLqL
qLrL
pLqL
LDPC DecoderLDPC DecoderError
Correctionencoding
Channel EqualizationError
Correctiondecoding
DetectionInputdata
Retrieveddata
34
BER/BLER
1. 0E- 11
1. 0E- 10
1. 0E- 09
1. 0E- 08
1. 0E- 07
1. 0E- 06
1. 0E- 05
1. 0E- 04
1. 0E- 03
1. 0E- 02
1. 0E- 01
1. 0E+00
0 0. 5 1 1. 5 2 2. 5 3
Eb/ N0 ( dB)
BLER( 30 i t er at i on,Scal ed mi n- sum, FPGA)
BER( 30 i t er at i on,Scal ed mi n- sum, FPGA)
Rate ½PEG QC-LDPC Code with Block Length of 32768 bits
BER/BLERBER/BLER
35
7 bit quantized LLRs used for decoder (sum-product algorithm) input.Iterations terminated either by checksum criteria or a maximum of 20 iterations.
Decoder Performance Decoder Performance
000000# errors
1.7×10-61.7×10-61.7×10-61.7×10-61.7×10-61.7×10-6Decoded BER
0.08320.07840.07140.07860.08810.0810Raw BER
Page 100Page 80Page 60Page 40Page 20Page 1
36
Combining Sparse and LDPC CodesCombining Sparse and LDPC Codes
LDPC codeword size of 32768, rate 1/2 was used.For a target BER of 10-3, there is an SNR gain of 1.75 dB when we used sparse codes.
1 1.5 2 2.5 3 3.5 4 4.5 510-6
10-5
10-4
10-3
10-2
10-1
hSNR
Bit
erro
r rat
e
LDPC encoded dataLDPC and sparse code encoded data
37
HDS Channels: ApproachesHDS Channels: ApproachesHDS Channels: Approaches
EqualizationAdvanced detectionModulation codingError correction codingInterleavingOver-sampling
38
Optical quality is usually best at the center and the worst at the edgesSame magnification error causes more displacement as we move away from the centerInterleaving is important to handle the non-stationarityEach codeword spread from the center to the outer edges in the same manner.
Non-stationarityNon-stationarity
Mrr
(M-1)r
x
y
39
BER with Magn. ErrorBER with Magn. Error
0 5 10 15 2010-5
10-4
10-3
10-2
10-1
Iteration number
BER
Mag factor =101%, no interleavingMag factor =101%, with interleavingMag factor =110%, no interleavingMag factor =110%, with interleavingMag factor =120%, no interleavingMag factor =120%, with interleavingMag factor =150%, no interleavingMag factor =150%, with interleaving
With interleaving the data pages with magnification error up to 50% was decoded with no errors.
40
HDS Channels: ApproachesHDS Channels: ApproachesHDS Channels: Approaches
EqualizationAdvanced detectionModulation codingError correction codingInterleavingOver-sampling
41
M. Ayres et al, Applied Optics, 2006Using more detector pixels than SLM pixels (e.g., 3x3 SLM pixels mapped to 4x4 detector)Use reserved blocks in data page to estimate the relative shift between the SLM block and the detector blockUse the estimated shifts to determine an appropriate “equalizing filter” to map the detector outputs to corresponding input bits.
Over-sampling ApproachOver-sampling Approach
42
SNR vs. MisalignmentSNR vs. Misalignment
• 4/3 oversampling
• SNR actually peaks at a slight offset, presumably because the 4 x 4 sample grid is very asymmetric when one is aligned to the SLM pixel.
• Surprisingly uniform (< 1 dB) over misalignment range.
Courtesy: Mark Ayres, InPhase Technologies
43
SummarySummary
Equalizers are more useful at higher SNRsAWGN-based detectors suboptimalNeed powerful ECC to handle low SNRSparse coding can help; but comes with rate loss & soft decoding needed to make it compatible with LDPC decodingInterleaving important to deal with the HDS channel non-stationarityOver-sampling approach a promising technology
Recommended