合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

        COM 5140代做、c/c++程序設計代寫

        時間:2024-05-07  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



        COM 5140 Error-Correcting Codes 
        Spring 2024
        Project No. 1
        Due 4:00pm, May 16, 2024
        You are expected to produce a program to implement the Viterbi decoding algorithm for
        the widely used (2, 1, 6) convolutional code with generator matrix
        G(D) = (1 + D
        2 + D
        3 + D
        5 + D
        6
        1 + D + D
        2 + D
        3 + D
        6
        ).
        This code is assumed to be transmitted over an additive white Gaussian noise (AWGN)
        channel.
        The deliverable will consist of three parts:
        ? Part I, Demonstration. At the time of demonstration, we will let you know: the
        number of decoded bits N, the bit signal-to-noise ratio (SNR) Eb/N0 (in dB), the seed
        for the random number generator, and hard or (unquantized) soft decision. You should
        then report in each case the number of decoded bit errors made by your decoder and
        the corresponding bit error rate (BER). I want you to truncate your survivors at length
        **, outputting the oldest bit on the survivor with the best metric.
        ? Part II, Report. You should run experiments with your Viterbi decoder to produce
        performance curves showing the relationships between Eb/N0 (in dB) and the decoded
        BER (in logarithmic scale), with both hard-decision decoding, which corresponds to
        decoding on a binary symmetric channel (BSC), and unquantized soft-decision decod?ing, for Eb/N0 ranging from 1 dB to 6 dB for hard decision and 1 dB to 4 dB for
        unquantized soft decision, with increments of 0.5 dB. Please also include your simula?tion data in tabular form, listing for each data point: the bit SNR E0/N0, the number
        of decoded bits, the number of decoded bit errors, and the BER. (These detailed data
        are only required for the two mandatory performance curves.) Please hand in before
        the deadline a report (in a hard copy) which includes, among other things, performance
        curves, and (optional) discussions of issues like output decision alternatives (best-state,
        fixed-state, majority-vote), survivor truncation length, etc. Your computer program
        with comments should be attached at the end of the report.
        ? Part III, Program file. You also need to submit, before the deadline, your program
        file. Please put all of your programs into a single file with your registration number and
        proj1 as the file name, say, 105064851 proj1.c or 105064851 proj1.cpp. (If, after all
        kinds of attempts, you are still unable to put all of your programs in a single file, please
        compress your files into a single rar or zip file and use your registration number along
        with proj1 as the file name, say, 105064851 proj1.rar or 105064851 porj1.zip.)
        Upload your file to the eeclass system.
        Additional Details on Project No. 1
        1. Use the recursion
        ul+6 = ul+1    ul
        , for l    0
        with the initial conditions u0 = 1, u1 = u2 = u3 = u4 = u5 = 0 to generate the infor?mation bits. Ensure that the generated sequence is 100000100001 . . . and is periodic
        with period 63.
        2. Encode the information sequence using the generator matrix G(D).
        3. The encoder outputs 0  s and 1  s. However, the input to the AWGN channel is normal?ized to   1. Therefore, map 0  s to +1  s and 1  s to ?1  s.
        4. To simulate the AWGN channel with unquantized soft-decision decoding, add a normal
        (Gaussian) random variable of mean zero and variance   
        2
        to the   1  s generated at the
        previous step. For a binary code of rate R on the AWGN channel with antipodal
        signaling, the relationship between Eb/N0 and   
        2
        is given by
          
        2 =
         2R
        Eb
        N0
        
        ?1
        so for example for a R = 1/2 code, the relationship is simply
          
        2 =
        
        Eb
        N0
        
        ?1
        .
        Please remember that Eb/N0 is always quoted in   dBs,   which equals 10 log10(Eb/N0).
        Thus for example, a value of Eb/N0 of 4 dB for a R = 1/2 code corresponds to a value
        of   
        2 = 0.3981.
        5. Use the following segment of pseudo code to generate normal random variables of
        mean zero and variance   
        2
        . The procedure normal outputs two independent normal
        random variables, n1 and n2, and Ranq1 is a function which generates a random variable
        uniformly distributed in the interval (0, 1).
        unsigned long long SEED;
        // SEED must be an unsigned integer smaller than 4101842887655102017.
        unsigned long long RANV;
        int RANI = 0;
        main()
        {
                
                
                
        }
        2
        normal(n1, n2,   )
        {
        do{
        x1 = Ranq1();
        x2 = Ranq1();
        x1 = 2x1 ? 1;
        x2 = 2x2 ? 1;
        s = x
        2
        1 + x
        2
        2;
        } while (s    1.0)
        n1 =   x1
        q ?2 ln s/s;
        n2 =   x2
        q ?2 ln s/s;
        }
        double Ranq1()
        {
        if ( RANI == 0 ){
        RANV = SEED    4101842887655102017LL;
        RANV   = RANV >> 21;
        RANV   = RANV << 35;
        RANV   = RANV >> 4;
        RANV = RANV * 2685821657**6338717LL;
        RANI++;
        }
        RANV   = RANV >> 21;
        RANV   = RANV << 35;
        RANV   = RANV >> 4;
        return RANV * 2685821657**6338717LL * 5.42101086242752217E-20;
        }
        6. To get the output of the BSC, take the sign of the output of the AWGN channel and
        map +1  s to 0  s and ?1  s to 1  s.
        7. In your decoder, truncate the survivors to length ** and output the oldest bit on the
        survivor with the best metric. To decode N bits, generate N + 31 bits in (1). Finally
        compare the decoded information sequence with the original information sequence. If
        there are K bit errors, K/N will be a good estimate of the decoded BER.
        8. As a partial check, some typical values are listed below.
        Eb/N0 BER (BSC) Eb/N0 BER (AWGN)
        4.5 dB 2.1    10?3 2.5 dB 2.2    10?3
        5.0 dB 6.4    10?4 3.0 dB 5.3    10?4
        3
        Other Notes for Demonstration
        1. The survivor truncation length corresponds to the actual storage requirement of the
        survivors. For example, a survivor truncation length of ** for this code means that
        each survivor stores ** bits.
        2. For the illustration below, suppose a state is described as the content of the feed-forward
        shift register in the encoder s = (s1, s2, s3, s4, s5, s6), where the input information bit
        first fed to s1 and then shifted from left to right. In the trellis diagram, consider placing
        the states vertically from top to bottom in the order of (0 0 0 0 0 0), (1 0 0 0 0 0),
        (0 1 0 0 0 0), (1 1 0 0 0 0), (0 0 1 0 0 0), . . ., (1 1 1 1 1 1). What to do in case of tied
        metrics? In the   add-compare-select   step the two metrics could be equal. In this case,
        if 0  s and 1  s are equally probable to occur in the transmitted information sequence, in
        principle you can safely select either case, and it will not affect the decoder performance.
        Yet for the purpose of demonstration, always choose the upper branch as the survivor.
        If best-state output decision is employed, in case of tied metrics, in principle you can
        also safely select either case, but again for the purpose of demonstration, always choose
        the survivor of the uppermost state.
        3. Except in the procedure normal for generating noise, if a random number is needed in
        your program, use other random number generators instead of the function Ranq1, for
        the purpose of demonstration.
        4. Each call of the procedure normal can return two independent normal random vari?ables, n1 and n2. Please use both of them in your program. Specifically, since this is
        a (2, 1) code, each branch transition consists of two encoded bits, say x1 and x2. Add
        n1 and n2 to x1 and x2, respectively, to get the two channel outputs y1 and y2, i.e.,
        y1 = x1 + n1 and y2 = x2 + n2.

         

        請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp










         

        掃一掃在手機打開當前頁
      1. 上一篇:菲律賓移民有哪些福利 移民優勢解答
      2. 下一篇:代寫COMP282 程序、C++設計編程代做
      3. 無相關信息
        合肥生活資訊

        合肥圖文信息
        出評 開團工具
        出評 開團工具
        挖掘機濾芯提升發動機性能
        挖掘機濾芯提升發動機性能
        戴納斯帝壁掛爐全國售后服務電話24小時官網400(全國服務熱線)
        戴納斯帝壁掛爐全國售后服務電話24小時官網
        菲斯曼壁掛爐全國統一400售后維修服務電話24小時服務熱線
        菲斯曼壁掛爐全國統一400售后維修服務電話2
        美的熱水器售后服務技術咨詢電話全國24小時客服熱線
        美的熱水器售后服務技術咨詢電話全國24小時
        海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
        海信羅馬假日洗衣機亮相AWE 復古美學與現代
        合肥機場巴士4號線
        合肥機場巴士4號線
        合肥機場巴士3號線
        合肥機場巴士3號線
      4. 短信驗證碼 酒店vi設計

        亚洲精品国产综合久久一线| 国产精品成人一区无码| 久久老子午夜精品无码| 久久精品国产国产精品四凭| 老湿机一区午夜精品免费福利| 国产精品爆乳在线播放第一人称| 亚洲精品无码人妻无码| 四虎国产精品永久在线播放| 99国产精品免费视频观看| 久久老子午夜精品无码| 久久国产亚洲精品麻豆| 国产女人水真多18毛片18精品| 久久www免费人成精品香蕉| 亚洲人午夜射精精品日韩| 精品一区二区高清在线观看| 亚洲日韩精品无码专区网站| 国产精品久久久久久福利| 精品免费久久久久久成人影院| 久久精品无码中文字幕| 免费精品国产自产拍在线观看图片| 国产精品久久久久久久久鸭| 1313午夜精品理伦片| 91精品国产一区| 揄拍自拍日韩精品| 91精品国产成人网在线观看 | 久久精品桃花综合| 国产精品亚洲片夜色在线| 国产成人精品免费视| 精品免费久久久久久久| 亚洲宅男精品一区在线观看| 精品免费人成视频app| 国产精品bbwbbwbbw| 无码国产精品一区二区免费式直播 | 精品一区中文字幕| 日韩a级片在线观看| 女人高潮内射99精品| 亚洲精品国产精品乱码不卡| 国产精品一区12p| 99精品国产在热久久| 精品三级在线观看| 久久国产精品鲁丝片|