• Title/Summary/Keyword: C/A 코드

Search Result 683, Processing Time 0.028 seconds

VLSI implementation of a SOVA decoder for 3GPP complied turbo code using FPGA (3GPP 규격의 터보코드 복호를 위한 SOVA 복호기의 하드웨어 구현)

  • 김주민;고태환;정덕진
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.26 no.8A
    • /
    • pp.1441-1449
    • /
    • 2001
  • 차세대 멀티미디어 이동통신인 IMT-2000의 규격에서는 3GPP와 3GPP2에서 모두 터보 코드를 채널 코덱으로 채택하고 있다. 그 중 3GPP 에서는 용도에 따라 길쌈부호와, 제한길이 4인 1/3 터보코드를 선택적으로 사용하도록 정의되어 있다. 터보코드는 복호기의 출력으로 경판정 복호 비트에 대한 신뢰도 값을 동시에 생성하여, 이를 이용한 반복복호로 우수한 BER 특성을 얻을 수 있어야 한다. 본 논문에서는 먼저 3GPP 규격의 터보 복호기에 적용할 수 있는 내부 복호기로서 SOVA 복호기를 설계하였다. 또한 터보 복호기에서의 연판정 출력값의 중요성을 감안하여, 누적메트릭 정규화에 있어서 신뢰도 값에 영향을 주지않는 구조를 제안하여 적용하였다. 본 연구에서는 효율적인 구조의 3GPP SOVA 복호기를 설계하기 위하여 C++를 이용하여 알고리즘에 대한 성능을 검증하였으며, 이를 기반으로 VHDL을 이용하여 복호기를 설계하였다. 마지막으로 Altera사의 EPF10K100GC503 FPGA를 이용하여 복호기를 하드웨어로 구현하였다.

  • PDF

A study on a fast algorithm for the LSP coefficient quantization of G. 723.1 speech codec (G.723.1 음성 부호화기의 LSE 계수 양자화를 위한 고속화 알고리즘 연구)

  • Son Chang-yong;Sung Ho-sang;Kang Sang-won;Sung Yu-na
    • Proceedings of the Acoustical Society of Korea Conference
    • /
    • spring
    • /
    • pp.153-156
    • /
    • 2000
  • 본 논문에서는 멀티미디어 서비스들 중에서 음성 또는 오디오 신호를 저속으로 압축할 때 사용되는 G.723.1 부호화기의 line spectral frequency(LSF) 계수 양자화 방식을 고속으로 처리하는 알고리즘을 제안하였다. 제안된 고속탐색 방법은 LSF 계수의 순서성질을 이용하여 코드북의 탐색 범위를 줄임으로써 계산량을 크게 감소시킨다. 제안된 고속탐색 방법을 predictive split VQ(PSVQ) 구조를 갖는 G.723.1 에 적용한 결과 spectral distortion(SD) 성능 감쇄 및 추가적인 메모리 증가 없이 최적 코드벡터를 찾기 위한 코드북 탐색 과정에서 코드북의 평균 탐색 범위가 $20.1\%$ 감소했으며, 이는 additions, subtractions, multiplies 및 comparisons 수가 각각 $19.1\%$, $20.1\%$, $19.4\%$$12.2\% 감소하는 결과를 얻었다.

  • PDF

Mobile Agent Protection Scheme through Execution Tracing of Agent Code and Status (에이전트 코드와 상태 추적을 통한 이동에이전트의 보호 기법)

  • 정창렬;고진광
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.28 no.7C
    • /
    • pp.743-750
    • /
    • 2003
  • With the expansion of computer technology the mobility of a mobile agent code having the flexibility in the dispersive computer situation is used to set up the applications distributed on the Internet. As it also has the ability to transmit the mobile code of a mobile agent and to receive it from a far-off host, the executive circumstances of the host system in which an agent is executed have to access to an agent code and the executive state capable of executing an agent code. Therefore, it is difficult to prevent the forgery, the alteration and the wrong execution of an agent from a malicious host. This dissertation suggests the mechanism which can protect an agent from the malicious action through the executive pursuit of a code-named mobile agent. The security of this mechanism is verified through the protective process of a mobile agent in this mechanism.

Efficient Buffer-Overflow Prevention Technique Using Binary Rewriting (이진 코드 변환을 이용한 효과적인 버퍼 오버플로우 방지기법)

  • Kim Yun-Sam;Cho Eun-Sun
    • The KIPS Transactions:PartC
    • /
    • v.12C no.3 s.99
    • /
    • pp.323-330
    • /
    • 2005
  • Buffer overflow is one of the most prevalent and critical internet security vulnerabilities. Recently, various methods to prevent buffer overflow attacks have been investigated, but they are still difficult to apply to real applications due to their run-time overhead. This paper suggests an efficient rewrite method to prevent buffer-overflow attacks only with lower costs by generating a redundant copy of the return address in stack frame and comparing return address to copied return address. Not to be overwritten by the attack data the new copy will have the lower address number than local buffers have. In addition, for a safer execution environment, every vulnerable function call is transformed during the rewriting procedure.

Boosting the Performance of Python-based Geodynamic Code using the Just-In-Time Compiler (Just-In-Time 컴파일러를 이용한 파이썬 기반 지구동역학 코드 가속화 연구)

  • Park, Sangjin;An, Soojung;So, Byung-Dal
    • Geophysics and Geophysical Exploration
    • /
    • v.24 no.2
    • /
    • pp.35-44
    • /
    • 2021
  • As the execution speed of Python is slower than those of other programming languages (e.g., C, C++, and FORTRAN), Python is not considered to be efficient for writing numerical geodynamic code that requires numerous iterations. Recently, many computational techniques, such as the Just-In-Time (JIT) compiler, have been developed to enhance the calculation speed of Python. Here, we developed two-dimensional (2D) numerical geodynamic code that was optimized for the JIT compiler, based on Python. Our code simulates mantle convection by combining the Particle-In-Cell (PIC) scheme and the finite element method (FEM), which are both commonly used in geodynamic modeling. We benchmarked well-known mantle convection problems to evaluate the reliability of our code, which confirmed that the root mean square velocity and Nusselt number obtained from our numerical modeling were consistent with those of the mantle convection problems. The matrix assembly and PIC processes in our code, when run with the JIT compiler, successfully achieved a speed-up 30× and 258× faster than without the JIT compiler, respectively. Our Python-based FEM-PIC code shows the high potential of Python for geodynamic modeling cases that require complex computations.

Design and Implementation of a CHILL96 Compiler Using C++ Intermediate Code (C++ 중간 코드를 이용한 CHILL96 컴파일러의 설계 및 구현)

  • Keum, Chang-Sup;Lee, Joon-Kyung;Lee, Dong-Gill;Lee, Byung-Sun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.7 no.5
    • /
    • pp.1559-1569
    • /
    • 2000
  • CHILL96 is recommended as development language for telecommunication systems by ITU-T. In this paper, we describe the design and implementation of CHILL96 compiler using C++ intermediate code. Translation rules from CHILL96 to C++ are designed for code generation. The CHILL96 compiler is composed of four parts such s syntax analyzer, visibility checker, semantic analyzer and code generator, and each part has very close relationship with symbol table and abstract syntax tree. Performance evaluation has been performed for feasibility study. After performance evaluation, we conclude the CHILL96 compiler using C++ intermediate sho good performance compared with other CHILL compilers. In addition to high performance and portability, the CHILL96 compiler using C++ intermediate code helps application developers to maintain and enhance telecommunications software by translating CHILL96 program to C++ program.

  • PDF

Program Translation from Conventional Programming Source to Java Bytecode (기존 프로그래밍 원시코드에서 자바 바이트 코드로의 변환)

  • Jeon-Geun Kang;Haeng-Kon Kim
    • Journal of the Korea Computer Industry Society
    • /
    • v.3 no.8
    • /
    • pp.963-980
    • /
    • 2002
  • Software reengineering is making various research for solutions against problem of maintain existing systems. Reengineering has a meaning of development of software on exizting systems through the reverse engineering auf forward engineering. Most of the important concepts used in reengineering is composition that is restructuring of the existing objects. Is there a compiler that can compile a program written in a traditional procedural language (like C or Pascal) and generate a Java bytecode, rather than an executable code that runs oかy on the machine it was compiled (such as an a.out file on a Unix machine)\ulcorner This type of compiler may be very handy for today's computing environment of heterogeneous networks. In this paper we present a software system that does this job at the binary-to-binary level. It takes the compiled binary code of a procedural language and translates it into Java bytecode. To do this, we first translate into an assembler code called Jasmin [7] that is a human-readable representation of Java bytecode. Then the Jasmin assembler converts it into real Java bytecode. The system is not a compiler because it does not start at the source level. We believe this kind of translator is even more useful than a compiler because most of the executable code that is available for sharing does not come with source programs. Of course, it works only if the format of the executable binary code is known. This translation process consists of three major stages: (1) analysis stage that identifies the language constructs in the given binary code, (2) initialization stage where variables and objects are located, classified, and initialized, and (3) mapping stage that maps the given binary code into a Jasmin assembler code that is then converted to Java bytecode.

  • PDF

A Standard [UC;AG] Vertical Block Code of Genetic Information 64 Trigram Codon (유전정보 64 Trigram Codon의 표준 [UC;AG] 수직 블록 Code)

  • Park, Ju-Yong;Lee, Sung-Kook;Lee, Moon-Ho
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.16 no.6
    • /
    • pp.135-140
    • /
    • 2016
  • In this paper, we analyze the [UC;AG] code which is genetic information standard DNA code, with 64 trigram. DNA which contains human genetic information, is a shape of adding three billion pairs of four bases which are A(adenine), C(cytosine), G(guanine) and T(thymine) to phosphoric acid and glucose. We present standard DNA code to 64 trigram which is $64{\times}4$ matrix with Kronecker product. This $64{\times}4$ matrix has double helix duplex property, and we can get the $4{\times}4$ matrix RNA code by removing the duplex of it. We present the DNA double helix to matrices and analysis the trigram array code of genetic information and the examples of it are presented in example 5, 6.

An automated memory error detection technique using source code analysis in C programs (C언어 기반 프로그램의 소스코드 분석을 이용한 메모리 접근오류 자동검출 기법)

  • Cho, Dae-Wan;Oh, Seung-Uk;Kim, Hyeon-Soo
    • The KIPS Transactions:PartD
    • /
    • v.14D no.6
    • /
    • pp.675-688
    • /
    • 2007
  • Memory access errors are frequently occurred in C programs. A number of tools and research works have been trying to detect the errors automatically. However, they have one or more of the following problems: inability to detect all memory errors, changing the memory allocation mechanism, incompatibility with libraries, and excessive performance overhead. In this paper, we suggest a new method to solve these problems, and then present a result of comparison to the previous research works through the experiments. Our approach consists of two phases. First is to transform source code at compile time through inserting instrumentation into the source code. And second is to detect memory errors at run time with a bitmap that maintains information about memory allocation. Our approach has improved the error detection abilities against the binary code analysis based ones by using the source code analysis technique, and enhanced performance in terms of both space and time, too. In addition, our approach has no problem with respect to compatibility with shared libraries as well as does not need to modify memory allocation mechanism.

Formal Description and Reference Implementation Code Generation for a Security Algorithm using VDM-SL (VDM-SL을 이용한 보안 알고리즘의 형식적 표현과 참조구현 코드 생성)

  • Kim, Young-Gil;Kim, Ki-Su;Kim, Young-Wha;Ryou, Jae-Cheol;Jang, Chung-Ryong
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.6 no.4
    • /
    • pp.67-84
    • /
    • 1996
  • VDL-SL (Vienna Development Method-Specification Language) is one of the FSL(Formal Specification Language) which is being presented for the correct description of the security relevant standards. Several tools are being developed for the correctness and the convenience in the description and executable code generation of security relevant standards using VDM-SL. The IFAD VDM-SL Toolbox is one that has many functions : syntax checking, type checking, c++ code generation, test coverage information. This paper describes a formal method for description and implementation of MD4 algorithm using VDM-SL and IFAD VDM-SL Toolbox, and examines the result applied to secure hash algorithm, and proposes the relation to strict conformance test which recently suggested as a security test method.