Jump to content

    

FEC на ПЛИС

On 11/15/2018 at 1:29 AM, DuHast said:

Так в там то и дело, что у меня по логам моделирования RiBM, эта фича отсутствует(нули  стоят немного не так). Более того, даже если бы они стояли там, то Modify PE нарисован не так, на мой взгляд. Да и ошибки в таких статьях не редкость. И ещё, кто-то не давно писал на форуме, что собирается делать TiMB.

взял код (255, 223), первый корень a^0, расстояние между корнями a^1. Поставил максимальное количество ошибок. Вот лог работы

# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp get syndromes :  236 190 199  21 206 194 180 208 105 124  13 211 110  80 219 171  40 116 103 230  20 109  28  39  29 222  39 113  43 226 130 252
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 31 :: gamma_lsb 68 kv 255
# gamma poly   68  27  57 211  49 227 250 157 234 134 155 179 120  56  69 233 139 223  17  24 156  29 229 111 240 178   3 232  52  25  46 156   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   1 236
# tetta poly  190 199  21 206 194 180 208 105 124  13 211 110  80 219 171  40 116 103 230  20 109  28  39  29 222  39 113  43 226 130 252   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   1   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 30 :: gamma_lsb 2 kv 0
# gamma poly    2 217 160 180 146  34  96  78 222  56   1  59 125 113 130 127 248 243 213 236 197   6 109  95 190 128 165 131  52 152 243   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 236 190   0
# tetta poly  190 199  21 206 194 180 208 105 124  13 211 110  80 219 171  40 116 103 230  20 109  28  39  29 222  39 113  43 226 130 252   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   1   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 29 :: gamma_lsb 74 kv 255
# gamma poly   74  72   0  53 144  60  89  71  97 246  11 187  99 121 233  91 249  65  43 193 136  57  32 230 182 238 220 107 155   8 229   0   0   0   0   0   0   0   0   0   0   0   0   0   0 250 220   2   0
# tetta poly  217 160 180 146  34  96  78 222  56   1  59 125 113 130 127 248 243 213 236 197   6 109  95 190 128 165 131  52 152 243   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 236 190   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 28 :: gamma_lsb 253 kv 0
# gamma poly  253  91 208 147  89 112  50  68 250  92 190 197 174 181  33 125 164 100 236 235 211 151 243  53  47 129 230 127  64 241   0   0   0   0   0   0   0   0   0   0   0   0   0   0 233 214  64   0   0
# tetta poly  217 160 180 146  34  96  78 222  56   1  59 125 113 130 127 248 243 213 236 197   6 109  95 190 128 165 131  52 152 243   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 236 190   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 27 :: gamma_lsb 85 kv 255
# gamma poly   85  20  42  65 209   3 182 195 190 156 139 216 134 218 132 157 161  78 187  91   7   9 194  19  96  86 155 238  80 105   0   0   0   0   0   0   0   0   0   0   0   0   0 207 177 240  77   0   0
# tetta poly   91 208 147  89 112  50  68 250  92 190 197 174 181  33 125 164 100 236 235 211 151 243  53  47 129 230 127  64 241   0   0   0   0   0   0   0   0   0   0   0   0   0   0 233 214  64   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 26 :: gamma_lsb 8 kv 0
# gamma poly    8 130  95  66 181  23 121  15 122  49  51 157 123 139 160 186 225 251  85  62  28 172  38  49 110  21  28  62  14   0   0   0   0   0   0   0   0   0   0   0   0   0 188 187 152 192   0   0   0
# tetta poly   91 208 147  89 112  50  68 250  92 190 197 174 181  33 125 164 100 236 235 211 151 243  53  47 129 230 127  64 241   0   0   0   0   0   0   0   0   0   0   0   0   0   0 233 214  64   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 25 :: gamma_lsb 122 kv 255
# gamma poly  122 102 186  30   5 199 104 211 154  62 231 180  31 188  81 172 213 199  57 213  13  41 245 141  57  96 237 181 219   0   0   0   0   0   0   0   0   0   0   0   0 170  99 180  48  58   0   0   0
# tetta poly  130  95  66 181  23 121  15 122  49  51 157 123 139 160 186 225 251  85  62  28 172  38  49 110  21  28  62  14   0   0   0   0   0   0   0   0   0   0   0   0   0 188 187 152 192   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 24 :: gamma_lsb 40 kv 0
# gamma poly   40  45 239 100 254   9  90  68 159 237 137  98  59 130 201  71  39  66  24 153 103   1 110  51  91 202  63  96   0   0   0   0   0   0   0   0   0   0   0   0  57 254 115  82 237   0   0   0   0
# tetta poly  130  95  66 181  23 121  15 122  49  51 157 123 139 160 186 225 251  85  62  28 172  38  49 110  21  28  62  14   0   0   0   0   0   0   0   0   0   0   0   0   0 188 187 152 192   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 23 :: gamma_lsb 156 kv 255
# gamma poly  156 198 133  65  42 158 159 128 192 151 225 225 248 214 101  15 183  32 194  88  37 206 126 244  44 162  89 173   0   0   0   0   0   0   0   0   0   0   0 213 163  40 229 101 107   0   0   0   0
# tetta poly   45 239 100 254   9  90  68 159 237 137  98  59 130 201  71  39  66  24 153 103   1 110  51  91 202  63  96   0   0   0   0   0   0   0   0   0   0   0   0  57 254 115  82 237   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 22 :: gamma_lsb 179 kv 0
# gamma poly  179  93  14 161 166 214  39 140 146 151 177 151 177  90 162  43 152 154 189 172  90 233 254  88  80  37 187   0   0   0   0   0   0   0   0   0   0   0  89 255 241 184 247 215   0   0   0   0   0
# tetta poly   45 239 100 254   9  90  68 159 237 137  98  59 130 201  71  39  66  24 153 103   1 110  51  91 202  63  96   0   0   0   0   0   0   0   0   0   0   0   0  57 254 115  82 237   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 21 :: gamma_lsb 234 kv 255
# gamma poly  234 241  54  48  99  31 105 200 252 171 152 103 181 178 169 131 174 177  59  99 196  81 225 117  27 156  56   0   0   0   0   0   0   0   0   0   0  29  61 206  39 111  86  39   0   0   0   0   0
# tetta poly   93  14 161 166 214  39 140 146 151 177 151 177  90 162  43 152 154 189 172  90 233 254  88  80  37 187   0   0   0   0   0   0   0   0   0   0   0  89 255 241 184 247 215   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 20 :: gamma_lsb 167 kv 0
# gamma poly  167 212 202 138  88 218  61 148 235 117 156  34  24 255  79   1 248 121  64  82  90  71 159 216  58 247   0   0   0   0   0   0   0   0   0   0  75  95 129  21 206  39  95   0   0   0   0   0   0
# tetta poly   93  14 161 166 214  39 140 146 151 177 151 177  90 162  43 152 154 189 172  90 233 254  88  80  37 187   0   0   0   0   0   0   0   0   0   0   0  89 255 241 184 247 215   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 19 :: gamma_lsb 57 kv 255
# gamma poly   57  94 166   0 153 163  44  34  11 118  17  43 177 103  79  23  92   9 136 188 129  15  63 134  10  39   0   0   0   0   0   0   0   0   0 226 235 254 137 155  14 137  59   0   0   0   0   0   0
# tetta poly  212 202 138  88 218  61 148 235 117 156  34  24 255  79   1 248 121  64  82  90  71 159 216  58 247   0   0   0   0   0   0   0   0   0   0  75  95 129  21 206  39  95   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 18 :: gamma_lsb 208 kv 0
# gamma poly  208  69 118 169 243  98 136 127  67  82 253  71  48  45 201 193  56 206  86  40  74 228 217  97  87   0   0   0   0   0   0   0   0   0 193  79 191 103  20 208  83 117   0   0   0   0   0   0   0
# tetta poly  212 202 138  88 218  61 148 235 117 156  34  24 255  79   1 248 121  64  82  90  71 159 216  58 247   0   0   0   0   0   0   0   0   0   0  75  95 129  21 206  39  95   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 17 :: gamma_lsb 23 kv 255
# gamma poly   23 141 217 181   8 207 208 184  84  52  66 180  17 199 188 184 209 219  10 124   0 166  65 175 214   0   0   0   0   0   0   0   0 108 177  28 194 168  95 178  93 123   0   0   0   0   0   0   0
# tetta poly   69 118 169 243  98 136 127  67  82 253  71  48  45 201 193  56 206  86  40  74 228 217  97  87   0   0   0   0   0   0   0   0   0 193  79 191 103  20 208  83 117   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 16 :: gamma_lsb 231 kv 0
# gamma poly  231 177 111 166 219  52 239  72  19  33  73 230  97   2 221  28  76 197 107  63 217 202 195 184   0   0   0   0   0   0   0   0 136 195  92 218 187  74 212  59  86   0   0   0   0   0   0   0   0
# tetta poly   69 118 169 243  98 136 127  67  82 253  71  48  45 201 193  56 206  86  40  74 228 217  97  87   0   0   0   0   0   0   0   0   0 193  79 191 103  20 208  83 117   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 15 :: gamma_lsb 17 kv 255
# gamma poly   17 149 122 178 228  12  12 167 181 241 119 150  59 183  78 155 119  67 128  26 186 244   5  38   0   0   0   0   0   0   0 178  47 112  43  60  12 201 106 248  68   0   0   0   0   0   0   0   0
# tetta poly  177 111 166 219  52 239  72  19  33  73 230  97   2 221  28  76 197 107  63 217 202 195 184   0   0   0   0   0   0   0   0 136 195  92 218 187  74 212  59  86   0   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 14 :: gamma_lsb 26 kv 0
# gamma poly   26 113  94  97 131 105 124 251  10  58  96   7  52 240 182 111  66 107 134 233 171  51  46   0   0   0   0   0   0   0  74 181 119  27  76  20 147  99  33 155   0   0   0   0   0   0   0   0   0
# tetta poly  177 111 166 219  52 239  72  19  33  73 230  97   2 221  28  76 197 107  63 217 202 195 184   0   0   0   0   0   0   0   0 136 195  92 218 187  74 212  59  86   0   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 13 :: gamma_lsb 190 kv 255
# gamma poly  190 149 147 198 240 118 167  43 162 202 251 111 210 161  47 218 172 193 240  40 248 211 139   0   0   0   0   0   0 199 197 198 232 100 123 185 208 204  83  47   0   0   0   0   0   0   0   0   0
# tetta poly  113  94  97 131 105 124 251  10  58  96   7  52 240 182 111  66 107 134 233 171  51  46   0   0   0   0   0   0   0  74 181 119  27  76  20 147  99  33 155   0   0   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 12 :: gamma_lsb 61 kv 0
# gamma poly   61 187  79  47 141  54 119  42  34 137  34 117  84  70 112 131 241  83  23  56 114  27   0   0   0   0   0   0   9 121 123  40 168  13 124 103 202 189 253   0   0   0   0   0   0   0   0   0   0
# tetta poly  113  94  97 131 105 124 251  10  58  96   7  52 240 182 111  66 107 134 233 171  51  46   0   0   0   0   0   0   0  74 181 119  27  76  20 147  99  33 155   0   0   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 11 :: gamma_lsb 103 kv 255
# gamma poly  103  47 196 143  70 172  37 220 192  91 213 235 134 117 225  14 231 158  33 138   0 136   0   0   0   0   0 202 222 158 145 122 231  86 236 240 182 249 174   0   0   0   0   0   0   0   0   0   0
# tetta poly  187  79  47 141  54 119  42  34 137  34 117  84  70 112 131 241  83  23  56 114  27   0   0   0   0   0   0   9 121 123  40 168  13 124 103 202 189 253   0   0   0   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 10 :: gamma_lsb 172 kv 0
# gamma poly  172  43 230  97  20 168  75 162  43 156  13  34 129 100  63  96   8 216  57 116 150   0   0   0   0   0 159 228 165  45  19 222 123 198 184 165 138 205   0   0   0   0   0   0   0   0   0   0   0
# tetta poly  187  79  47 141  54 119  42  34 137  34 117  84  70 112 131 241  83  23  56 114  27   0   0   0   0   0   0   9 121 123  40 168  13 124 103 202 189 253   0   0   0   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 9 :: gamma_lsb 7 kv 255
# gamma poly    7  79 123 188  20  84  10  32  40  93 209   6 123  60 113 183 161 189  52 169 242   0   0   0   0  90  23 116  20  46 177 240 177 231 222 240 165 193   0   0   0   0   0   0   0   0   0   0   0
# tetta poly   43 230  97  20 168  75 162  43 156  13  34 129 100  63  96   8 216  57 116 150   0   0   0   0   0 159 228 165  45  19 222 123 198 184 165 138 205   0   0   0   0   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 8 :: gamma_lsb 243 kv 0
# gamma poly  243  22  31 244 175 160 109 252 134  69  33  62 148 111 248  32 187  19  64 110   0   0   0   0  22 139 114 196  33 115 206 118 247   3 178   3  45   0   0   0   0   0   0   0   0   0   0   0   0
# tetta poly   43 230  97  20 168  75 162  43 156  13  34 129 100  63  96   8 216  57 116 150   0   0   0   0   0 159 228 165  45  19 222 123 198 184 165 138 205   0   0   0   0   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 7 :: gamma_lsb 21 kv 255
# gamma poly   21  89 138 190  88 150 177 151 233  91   0 215 240  79  57 141 129 240 215 183   0   0   0 221 112 180 136 183  79 157 219 216 195 132 214  23 233   0   0   0   0   0   0   0   0   0   0   0   0
# tetta poly   22  31 244 175 160 109 252 134  69  33  62 148 111 248  32 187  19  64 110   0   0   0   0  22 139 114 196  33 115 206 118 247   3 178   3  45   0   0   0   0   0   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 6 :: gamma_lsb 150 kv 0
# gamma poly  150 146 143  93 127   5  20  37  54 143  83 241  78 188 101 205 200 123  42   0   0   0  98 165 130  51  96 177 181 223 250 245 248  14  87 122   0   0   0   0   0   0   0   0   0   0   0   0   0
# tetta poly   22  31 244 175 160 109 252 134  69  33  62 148 111 248  32 187  19  64 110   0   0   0   0  22 139 114 196  33 115 206 118 247   3 178   3  45   0   0   0   0   0   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 5 :: gamma_lsb 154 kv 255
# gamma poly  154 144  60  84 243   9 165  31 158  52 124 230 212 209 222 236 103  85 206   0   0 230  63  17  55 224 143  21 242 175  61 164 124  49   1   7   0   0   0   0   0   0   0   0   0   0   0   0   0
# tetta poly  146 143  93 127   5  20  37  54 143  83 241  78 188 101 205 200 123  42   0   0   0  98 165 130  51  96 177 181 223 250 245 248  14  87 122   0   0   0   0   0   0   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 4 :: gamma_lsb 167 kv 0
# gamma poly  167 211 233  68 154  24 246  90  23 197 104 211  42 155 148 227 174   2   0   0 214 105 243 220 201  62 150 132  33  59 101 234 235 107 254   0   0   0   0   0   0   0   0   0   0   0   0   0   0
# tetta poly  146 143  93 127   5  20  37  54 143  83 241  78 188 101 205 200 123  42   0   0   0  98 165 130  51  96 177 181 223 250 245 248  14  87 122   0   0   0   0   0   0   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 3 :: gamma_lsb 8 kv 255
# gamma poly    8 173  76 246  80  71  86  94  60 121  23 212  95 193 185 230 221  91   0 116  11  15 160 202  58 241 155  34 171 159  65 135 158 197  75   0   0   0   0   0   0   0   0   0   0   0   0   0   0
# tetta poly  211 233  68 154  24 246  90  23 197 104 211  42 155 148 227 174   2   0   0 214 105 243 220 201  62 150 132  33  59 101 234 235 107 254   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 2 :: gamma_lsb 166 kv 0
# gamma poly  166  94 223 180  32   6  94 180 217 151  25  94 192 160  44  32 165   0 239  91 108 235 103 255 122 186  94 144  29  26  40 116 181 180   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
# tetta poly  211 233  68 154  24 246  90  23 197 104 211  42 155 148 227 174   2   0   0 214 105 243 220 201  62 150 132  33  59 101 234 235 107 254   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 1 :: gamma_lsb 250 kv 255
# gamma poly  250 231 116  26  30 135 108 120 134 134 250 186 197  71 220  11  81 145 181  86  67 142 113 191 225  12 128  45 197 135 149  95   1 106   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
# tetta poly   94 223 180  32   6  94 180 217 151  25  94 192 160  44  32 165   0 239  91 108 235 103 255 122 186  94 144  29  26  40 116 181 180   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
# tb.uut_dec.genblk1.rs_berlekamp.genblk1.rs_berlekamp step 0 :: gamma_lsb 245 kv 0
# gamma poly  245 107 128  46 138 162  90 220  21 170 232 187  73  56 152  61 237 235  84  19  65  25 248 255 100  43 231 162 221 250 194 102 185   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
# tetta poly   94 223 180  32   6  94 180 217 151  25  94 192 160  44  32 165   0 239  91 108 235 103 255 122 186  94 144  29  26  40 116 181 180   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
# 5540 decode done. symb errors 16, bit errors 97

Вроде картинка как у авторов....

UPD. поигрался количеством ошибок, первым корнем (в том числе a^-1), укороченными кодами, расстоянием между корнями, лог аналогичен. Надо модернизировать код)

Share this post


Link to post
Share on other sites

2 des00

странно,  у меня лог как в статье получался только при 8 неодинаковых ошибках. 

Я даже статью с "опровержением" нашёл, но , почему-то, залить не могу, сайт ругается. 

Share this post


Link to post
Share on other sites

Нашел время добить "классические" коды:  декодирование по  Витерби, на примере TCM 4-D 8PSK из зеленой книги CCSDS 413.0-G-2.(решетка на 64 состояния, систематический код, 8 переходов в состояние)

Из особеностей: поддержка всех скоростей (2/2.25/2.5/2.75), работа в потоковом и пакетном режимах с произвольным размером блока, pre-traceback  логика для уменьшения латентности декодера, модульная арифмтетика метрики путей.Скорость низкая: 100МГц на 4D символ, при размере метики символа 4 бита, на пятой арии(потенциальная символьная частота под 400МГц, кто знает как разогнать решетку с 8мю переходами на решетке в 64 состояния, при обновлении за 1 такт подскажите решение).

Практической ценности никакой, в такой ресурс (17к логики) легко укладывается LDPC декодер на более высокую скорость, но покрутить интересно. Плохо что решетку из стандарта нельзя терминировать(она с ОС) и структура распределения ошибок хорошо показывает что голова и хвост в пакетном режиме, при декодировании по Витерби сильно портят статистику работы декодера в диапазоне малых ошибок. Замкнутые решетки и многопроходные алгоритмы рулят)

 

tcm_4D_8PSK_release07022019.zip

Share this post


Link to post
Share on other sites
9 hours ago, Fat Robot said:

radix 4 trellis

Спасибо, посмотрел. Но разве это не только для бинарных решеток? там количество переходов будет 2^2 = 4, что терпимо до тактовых 125-150МГц на современных плис, а в этом коде, как отметил в пояснении, 8 переходов в каждое состояние. Это даст 8^2 = 64 перехода, что еще сильнее завалит тактовую частоту. И получится шило на мыло

Share this post


Link to post
Share on other sites

уменьшается кол-во шагов на обратном проходе

Share this post


Link to post
Share on other sites
4 hours ago, Fat Robot said:

уменьшается кол-во шагов на обратном проходе

мы о разных алгоритмах говорим, но я вас услышал. спасибо.

Share this post


Link to post
Share on other sites

Полярный кодек, на основе таблицы из документа 3GPP TS 38.212 V15.1.1.

Алгоритм декодирования: быстрый алгорим последовательного исключения (FSSC) с шириной слова обработки 8 метрик/битов и слова декодирования 4 метрики. Скорость кодирования произвольная от 1/N до N-1/N. Математика с ограничем разрядности вычислений.

Ресурс для Ария 5 ALUT/REG/M10K:

кодер 410/238/4, тактовая порядка 175МГц ~= 170Мб/с(кодированный поток)

декодер 2171/915/18.тактовая порядка 110МГц ~= 35Мб/с(кодированный поток)

В целом скорости просто расширяются, но естественное ограничение - сбор битового фрейма по таблице надежностей битовых каналов. но, для декодера 100-120Мб/с  достижимы.

ЗЫ. Алгоритм простой, но проигрывает в качестве более сложным алгоритмам (списочный и стековый). Но для начала пойдет)

polar_3gpp_release25042019.zip

Share this post


Link to post
Share on other sites

Попалась на глаза "синяя книга" CCSDS 131.0-B-3, стало интересно, потратил пару вечеров. Поведенческая модель, со статическими параметрами кодера и декодера. Поддерживаются все длины и скорости кодирования. Метод декодирования Max Log MAP, для изучения влияния были добавлены крутилятры по работе с данными в петле экстринсиков.  Тестбенч - бертест для комплексного BPSK.

А не встрtчал ли кто статей по снятию характеристик этого кода? Сходу не нагуглилось. Не вижу большой разницы в результататх, между блоками длиной 223*(1/2/4/5) байта и скоростями кодирования 1/3, 1/4, 1/6. Математику проверил несколько раз, сверился с CML библиотекой, по алгоритму вроде все верно, усечений разрядности нет. Есть подозрение что так и должно быть в сверточниках, но также есть ощущние что я не прав)

Спасибо

ccsds_turbo_beh_release31102019.zip

Share this post


Link to post
Share on other sites

Статически конфигурируемый CCSDS 131.0-B-3 турбокодек

для сыклона 5, скорость кодирования 1/3, 1784 бита.

кодер : 130ALM, 153 Reg, 2M10K, 180MHz -> ~= 60Mbps

декодер : 2411ALM, 4077Reg, 48M10, 140MHz -> ~= 10Mbps (10 итераций)

ccsds_turbo_beh_release02112019.zip

Share this post


Link to post
Share on other sites
On 11/3/2019 at 12:04 AM, Grizzly said:

15-й и 21-й рисунки не про то?

https://deepspace.jpl.nasa.gov/dsndocs/810-005/208/208B.pdf

то что нужно, спасибо) Нашел пару ошибок в базовой модели, и не пару в RTL коде) ошибки ламерские)))). Код работает, но не дает то что должен

Share this post


Link to post
Share on other sites

@des00 ну хоть что-то полезное сделал за последнее время :))) а то свой демодулятор так нормально и не работает пока что. буду тоже искать ламерские ошибки)

Share this post


Link to post
Share on other sites
On 11/5/2019 at 1:15 PM, Grizzly said:

а то свой демодулятор так нормально и не работает пока что.

рад бы помочь, но в OFDM я как свинья в апельсинах, не было задачи...

Сделал доработки, характеристики стали лучше, но характеристик в документе не дотягивает. Не указан режим снятия кривых, ставил 8 бит метрику, 50 итераций, табличную функцию MMAX*, все равно хуже где то на 0.25дб и водопадный регион более крутой. Надо подумать

ccsds_turbo_release08112019.zip

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this