- fixed jitter in H estimation
- consider power boost in params - RX: cleaned up - TX: cleaned up git-svn-id: http://moon:8086/svn/matlab/trunk@44 801c6759-fa7c-4059-a304-17956f83a07c
This commit is contained in:
+30
-30
@@ -14,40 +14,40 @@ DRM_MODE_C = 3;
|
||||
DRM_MODE_D = 4;
|
||||
DRM_MODE_E = 5;
|
||||
|
||||
ofdm_spec_occ_drm(DRM_MODE_A, SPEC_OCC_4k5) = struct('spec', '4k5', 'kmin', 2, 'kmax', 102);
|
||||
ofdm_spec_occ_drm(DRM_MODE_A, SPEC_OCC_5k0) = struct('spec', '5k0', 'kmin', 2, 'kmax', 114);
|
||||
ofdm_spec_occ_drm(DRM_MODE_A, SPEC_OCC_9k0) = struct('spec', '9k0', 'kmin', -102, 'kmax', 102);
|
||||
ofdm_spec_occ_drm(DRM_MODE_A, SPEC_OCC_10k) = struct('spec', '10k', 'kmin', -114, 'kmax', 114);
|
||||
ofdm_spec_occ_drm(DRM_MODE_A, SPEC_OCC_18k) = struct('spec', '18k', 'kmin', - 98, 'kmax', 314);
|
||||
ofdm_spec_occ_drm(DRM_MODE_A, SPEC_OCC_20k) = struct('spec', '20k', 'kmin', -110, 'kmax', 350);
|
||||
ofdm_spec_occ_drm(DRM_MODE_A, SPEC_OCC_4k5) = struct('spec', '4k5', 'kmin', 2, 'kmax', 102, 'boost', [2,6,98,102]);
|
||||
ofdm_spec_occ_drm(DRM_MODE_A, SPEC_OCC_5k0) = struct('spec', '5k0', 'kmin', 2, 'kmax', 114, 'boost', [2,6,110,114]);
|
||||
ofdm_spec_occ_drm(DRM_MODE_A, SPEC_OCC_9k0) = struct('spec', '9k0', 'kmin', -102, 'kmax', 102, 'boost', [-102,-98,98,102]);
|
||||
ofdm_spec_occ_drm(DRM_MODE_A, SPEC_OCC_10k) = struct('spec', '10k', 'kmin', -114, 'kmax', 114, 'boost', [-114,-110,110,114]);
|
||||
ofdm_spec_occ_drm(DRM_MODE_A, SPEC_OCC_18k) = struct('spec', '18k', 'kmin', - 98, 'kmax', 314, 'boost', [-98,-94,310,314]);
|
||||
ofdm_spec_occ_drm(DRM_MODE_A, SPEC_OCC_20k) = struct('spec', '20k', 'kmin', -110, 'kmax', 350, 'boost', [-110,-106,346,350]);
|
||||
|
||||
ofdm_spec_occ_drm(DRM_MODE_B, SPEC_OCC_4k5) = struct('spec', '4k5', 'kmin', 1, 'kmax', 91);
|
||||
ofdm_spec_occ_drm(DRM_MODE_B, SPEC_OCC_5k0) = struct('spec', '5k0', 'kmin', 1, 'kmax', 103);
|
||||
ofdm_spec_occ_drm(DRM_MODE_B, SPEC_OCC_9k0) = struct('spec', '9k0', 'kmin', - 91, 'kmax', 91);
|
||||
ofdm_spec_occ_drm(DRM_MODE_B, SPEC_OCC_10k) = struct('spec', '10k', 'kmin', -103, 'kmax', 103);
|
||||
ofdm_spec_occ_drm(DRM_MODE_B, SPEC_OCC_18k) = struct('spec', '18k', 'kmin', - 87, 'kmax', 279);
|
||||
ofdm_spec_occ_drm(DRM_MODE_B, SPEC_OCC_20k) = struct('spec', '20k', 'kmin', - 99, 'kmax', 311);
|
||||
ofdm_spec_occ_drm(DRM_MODE_B, SPEC_OCC_4k5) = struct('spec', '4k5', 'kmin', 1, 'kmax', 91, 'boost', [1,3,89,91]);
|
||||
ofdm_spec_occ_drm(DRM_MODE_B, SPEC_OCC_5k0) = struct('spec', '5k0', 'kmin', 1, 'kmax', 103, 'boost', [1,3,101,103]);
|
||||
ofdm_spec_occ_drm(DRM_MODE_B, SPEC_OCC_9k0) = struct('spec', '9k0', 'kmin', - 91, 'kmax', 91, 'boost', [-91,-89,89,91]);
|
||||
ofdm_spec_occ_drm(DRM_MODE_B, SPEC_OCC_10k) = struct('spec', '10k', 'kmin', -103, 'kmax', 103, 'boost', [-103,-101,101,103]);
|
||||
ofdm_spec_occ_drm(DRM_MODE_B, SPEC_OCC_18k) = struct('spec', '18k', 'kmin', - 87, 'kmax', 279, 'boost', [-87,-85,277,279]);
|
||||
ofdm_spec_occ_drm(DRM_MODE_B, SPEC_OCC_20k) = struct('spec', '20k', 'kmin', - 99, 'kmax', 311, 'boost', [-99,-97,309,311]);
|
||||
|
||||
ofdm_spec_occ_drm(DRM_MODE_C, SPEC_OCC_4k5) = struct('spec', '4k5', 'kmin', 0, 'kmax', 0);
|
||||
ofdm_spec_occ_drm(DRM_MODE_C, SPEC_OCC_5k0) = struct('spec', '5k0', 'kmin', 0, 'kmax', 0);
|
||||
ofdm_spec_occ_drm(DRM_MODE_C, SPEC_OCC_9k0) = struct('spec', '9k0', 'kmin', 0, 'kmax', 0);
|
||||
ofdm_spec_occ_drm(DRM_MODE_C, SPEC_OCC_10k) = struct('spec', '10k', 'kmin', - 69, 'kmax', 69);
|
||||
ofdm_spec_occ_drm(DRM_MODE_C, SPEC_OCC_18k) = struct('spec', '18k', 'kmin', 0, 'kmax', 0);
|
||||
ofdm_spec_occ_drm(DRM_MODE_C, SPEC_OCC_20k) = struct('spec', '20k', 'kmin', - 67, 'kmax', 213);
|
||||
ofdm_spec_occ_drm(DRM_MODE_C, SPEC_OCC_4k5) = struct('spec', '4k5', 'kmin', 0, 'kmax', 0, 'boost', []);
|
||||
ofdm_spec_occ_drm(DRM_MODE_C, SPEC_OCC_5k0) = struct('spec', '5k0', 'kmin', 0, 'kmax', 0, 'boost', []);
|
||||
ofdm_spec_occ_drm(DRM_MODE_C, SPEC_OCC_9k0) = struct('spec', '9k0', 'kmin', 0, 'kmax', 0, 'boost', []);
|
||||
ofdm_spec_occ_drm(DRM_MODE_C, SPEC_OCC_10k) = struct('spec', '10k', 'kmin', - 69, 'kmax', 69, 'boost', [-69,-67,67,69]);
|
||||
ofdm_spec_occ_drm(DRM_MODE_C, SPEC_OCC_18k) = struct('spec', '18k', 'kmin', 0, 'kmax', 0, 'boost', []);
|
||||
ofdm_spec_occ_drm(DRM_MODE_C, SPEC_OCC_20k) = struct('spec', '20k', 'kmin', - 67, 'kmax', 213, 'boost', [-67,-65,211,213]);
|
||||
|
||||
ofdm_spec_occ_drm(DRM_MODE_D, SPEC_OCC_4k5) = struct('spec', '4k5', 'kmin', 0, 'kmax', 0);
|
||||
ofdm_spec_occ_drm(DRM_MODE_D, SPEC_OCC_5k0) = struct('spec', '5k0', 'kmin', 0, 'kmax', 0);
|
||||
ofdm_spec_occ_drm(DRM_MODE_D, SPEC_OCC_9k0) = struct('spec', '9k0', 'kmin', 0, 'kmax', 0);
|
||||
ofdm_spec_occ_drm(DRM_MODE_D, SPEC_OCC_10k) = struct('spec', '10k', 'kmin', - 44, 'kmax', 44);
|
||||
ofdm_spec_occ_drm(DRM_MODE_D, SPEC_OCC_18k) = struct('spec', '18k', 'kmin', 0, 'kmax', 0);
|
||||
ofdm_spec_occ_drm(DRM_MODE_D, SPEC_OCC_20k) = struct('spec', '20k', 'kmin', - 43, 'kmax', 135);
|
||||
ofdm_spec_occ_drm(DRM_MODE_D, SPEC_OCC_4k5) = struct('spec', '4k5', 'kmin', 0, 'kmax', 0, 'boost', []);
|
||||
ofdm_spec_occ_drm(DRM_MODE_D, SPEC_OCC_5k0) = struct('spec', '5k0', 'kmin', 0, 'kmax', 0, 'boost', []);
|
||||
ofdm_spec_occ_drm(DRM_MODE_D, SPEC_OCC_9k0) = struct('spec', '9k0', 'kmin', 0, 'kmax', 0, 'boost', []);
|
||||
ofdm_spec_occ_drm(DRM_MODE_D, SPEC_OCC_10k) = struct('spec', '10k', 'kmin', - 44, 'kmax', 44, 'boost', [-44,-43,43,44]);
|
||||
ofdm_spec_occ_drm(DRM_MODE_D, SPEC_OCC_18k) = struct('spec', '18k', 'kmin', 0, 'kmax', 0, 'boost', []);
|
||||
ofdm_spec_occ_drm(DRM_MODE_D, SPEC_OCC_20k) = struct('spec', '20k', 'kmin', - 43, 'kmax', 135, 'boost', [-43,-42,134,135]);
|
||||
|
||||
ofdm_spec_occ_drm(DRM_MODE_E, SPEC_OCC_4k5) = struct('spec', '4k5', 'kmin', -106, 'kmax', 106);
|
||||
ofdm_spec_occ_drm(DRM_MODE_E, SPEC_OCC_5k0) = struct('spec', '5k0', 'kmin', 0, 'kmax', 0);
|
||||
ofdm_spec_occ_drm(DRM_MODE_E, SPEC_OCC_9k0) = struct('spec', '9k0', 'kmin', 0, 'kmax', 0);
|
||||
ofdm_spec_occ_drm(DRM_MODE_E, SPEC_OCC_10k) = struct('spec', '10k', 'kmin', 0, 'kmax', 0);
|
||||
ofdm_spec_occ_drm(DRM_MODE_E, SPEC_OCC_18k) = struct('spec', '18k', 'kmin', 0, 'kmax', 0);
|
||||
ofdm_spec_occ_drm(DRM_MODE_E, SPEC_OCC_20k) = struct('spec', '20k', 'kmin', 0, 'kmax', 0);
|
||||
ofdm_spec_occ_drm(DRM_MODE_E, SPEC_OCC_4k5) = struct('spec', '4k5', 'kmin', -106, 'kmax', 106, 'boost', [-106,-102,102,106]);
|
||||
ofdm_spec_occ_drm(DRM_MODE_E, SPEC_OCC_5k0) = struct('spec', '5k0', 'kmin', 0, 'kmax', 0, 'boost', []);
|
||||
ofdm_spec_occ_drm(DRM_MODE_E, SPEC_OCC_9k0) = struct('spec', '9k0', 'kmin', 0, 'kmax', 0, 'boost', []);
|
||||
ofdm_spec_occ_drm(DRM_MODE_E, SPEC_OCC_10k) = struct('spec', '10k', 'kmin', 0, 'kmax', 0, 'boost', []);
|
||||
ofdm_spec_occ_drm(DRM_MODE_E, SPEC_OCC_18k) = struct('spec', '18k', 'kmin', 0, 'kmax', 0, 'boost', []);
|
||||
ofdm_spec_occ_drm(DRM_MODE_E, SPEC_OCC_20k) = struct('spec', '20k', 'kmin', 0, 'kmax', 0, 'boost', []);
|
||||
|
||||
W1024{DRM_MODE_A,:,:} = [228 341 455; 455 569 683; 683 796 910; 910 0 114; 114 228 341];
|
||||
W1024{DRM_MODE_B,:,:} = [512 0 512 0 512; 0 512 0 512 0; 512 0 512 0 512];
|
||||
|
||||
@@ -14,9 +14,14 @@ n = mod(s, y);
|
||||
m = floor(s/y);
|
||||
p = (k - k0 - n*x)/(x*y);
|
||||
|
||||
ref_a = sqrt(2)*ones(1,length(k));
|
||||
mag = sqrt(2);
|
||||
ref_a = mag*ones(1,length(k));
|
||||
ref_c = k;
|
||||
|
||||
for b=spec_occ.boost
|
||||
ref_a(find(ref_c == b)) = 2*mag;
|
||||
end
|
||||
|
||||
switch ofdm_params.mode
|
||||
|
||||
case 'A'
|
||||
|
||||
Reference in New Issue
Block a user