Barker Code Generator
양극성 Barker 코드 생성
라이브러리:
Communications Toolbox
Communications Toolbox /
Comm Sources /
Sequence Generators
설명
Barker Code Generator 블록은 양극성 Barker 코드를 생성합니다. Barker 코드는 길이가 짧고 상관 사이드로브가 낮아 디지털 통신 시스템의 프레임 동기화에 유용하게 사용됩니다. 자세한 내용은 Barker 코드 항목을 참조하십시오.
예제
cm_ex_various_barker_code_length 모델은 코드 길이가 3, 4, 7, 13으로 설정되고, 샘플 시간 1에서 프레임당 15개 샘플을 출력하도록 구성된 Barker Code Generator 블록의 출력을 보여줍니다. 이 플롯은 15개의 샘플 프레임을 채우기 위해 필요에 따라 코드 시퀀스가 반복되는 것을 보여줍니다.

Barker 코드 시퀀스를 플로팅합니다. 각 Barker Code Generator 블록은 15개 샘플을 갖는 하나의 프레임을 출력합니다. 코드 시퀀스를 비교하면 프레임을 채우기 위해 코드가 반복되는 것을 볼 수 있습니다.

7비트 Barker 코드 프리앰블과 14비트 페이로드 필드로 구성된 두 개의 프레임을 구성합니다. Preamble Detector 블록을 사용하여 프리앰블 위치를 검출합니다.

모델은 Preamble Detector 블록의 Barker 코드 프리앰블 검출을 기반으로 검출된 각 프리앰블에서 마지막 비트의 인덱스 위치를 표시합니다. 모델을 불러오고 런타임 프리앰블 설정을 구성하기 위해 콜백 함수를 사용합니다. 자세한 내용은 모델 콜백 (Simulink) 항목을 참조하십시오.
모델을 불러올 때,
PostLoadFcn콜백은 Preamble Detector 블록의 프리앰블 값을 초기화합니다.
런타임 실행의 경우,
InitFcn콜백은 Barker Code Generator 블록에서 프리앰블에 대한 런타임 설정을 가져옵니다.
Barker Code Generator 블록은 양극성 (-1,1) 신호를 출력하며, 이 신호는 Preamble Detector 블록에 사용하기 위해 단극성 (0,1)로 변환되어야 합니다. 모델을 실행하면 디스플레이에 두 프리앰블의 끝에 있는 위치에 해당하는 숫자 7과 28이 표시됩니다.
확장 예제
포트
출력
Barker 코드 프레임으로, 열 벡터로 반환됩니다. 프레임 길이가 Barker 코드 길이를 초과하면 이 블록은 Barker 코드를 반복하여 프레임을 채웁니다.
종속 관계
출력 데이터형 파라미터를 사용하여 출력의 데이터형을 설정합니다.
파라미터
블록 파라미터를 대화형 방식으로 편집하려면 속성 인스펙터를 사용합니다. Simulink® 툴스트립의 시뮬레이션 탭에 있는 준비 갤러리에서 속성 인스펙터를 선택합니다.
생성 코드의 길이로, 1, 2, 3, 4, 5, 7, 11 또는 13으로 지정됩니다. 자세한 내용은 Barker Codes 항목을 참조하십시오.
예: 2는 Barker 코드 [–1;1]을 출력합니다.
양의 스칼라는 출력 신호의 각 샘플 사이의 시간을 초 단위로 지정합니다. 샘플 시간을 -1로 설정하면 출력 신호가 다운스트림으로부터 샘플 시간을 상속합니다. 샘플 시간과 프레임당 샘플 수 파라미터 간의 관계에 대한 자세한 내용은 샘플 타이밍 항목을 참조하십시오.
출력 프레임당 샘플 수로, 양의 정수로 지정됩니다. 프레임당 샘플 수가 M인 경우 이 블록은 길이 N인 Barker 코드 시퀀스로 구성된 M개의 샘플을 포함하는 프레임을 출력합니다. N은 코드 길이 파라미터에 의해 설정되는 생성 코드의 길이입니다. M이 N의 정수 배수가 아닌 경우, 연속된 프레임은 프레임의 경계를 넘어서 Barker 코드의 연속성을 유지합니다.
샘플 시간과 프레임당 샘플 수 간의 관계에 대한 자세한 내용은 샘플 타이밍 항목을 참조하십시오.
출력 데이터형으로, double 또는 int8로 지정됩니다.
실행할 시뮬레이션의 유형으로, 코드 생성 또는 인터프리터형 실행으로 지정됩니다.
코드 생성— 생성된 C 코드를 사용하여 모델을 시뮬레이션합니다. 시뮬레이션을 처음 실행할 때 Simulink가 이 블록에 대한 C 코드를 생성합니다. 모델이 변경되지 않는 한 모델은 이후 시뮬레이션에 C 코드를 재사용합니다. 이 옵션을 사용하려면 추가 시작 시간이 필요하지만 이후 시뮬레이션의 속도는인터프리터형 실행옵션을 사용한 것보다 빠릅니다.인터프리터형 실행— MATLAB® 인터프리터를 사용하여 모델을 시뮬레이션합니다. 이 옵션을 사용하면 시작 시간이 줄어들지만 이후 시뮬레이션의 속도는코드 생성옵션을 사용한 것보다 느립니다. 이 모드에서는 블록의 소스 코드를 디버그할 수 있습니다.
자세한 내용은 Interpreted Execution vs. Code Generation (Simulink) 항목을 참조하십시오.
블록 특성
데이터형 |
|
다차원 신호 |
|
가변 크기 신호 |
|
세부 정보
Barker 코드는 오프-피크 자기상관이 1보다 크지 않은 최대 자기상관 시퀀스를 가집니다.
상관 사이드로브는 코드워드와 시간 시프트된 코드워드 간의 상관입니다. N비트 코드 시퀀스 {Xj}의 k심볼 시프트에 대한 상관 사이드로브 Ck는 다음과 같습니다.
j=1, 2, 3,..., N인 경우 Xj는 +1 또는 –1과 같은 개별 코드 심볼입니다. 인접한 심볼은 0으로 간주됩니다.
출력 코드는 0과 1을 1과 –1로 매핑하는 양극성 형식입니다. 알려진 Barker 코드의 최대 길이는 13입니다. Barker 코드는 길이가 짧고 상관 사이드로브가 낮아 디지털 통신 시스템의 프레임 동기화에 유용하게 사용됩니다. Barker Code Generator는 다음 표에 나열된 Barker 코드를 출력합니다.
| Barker 코드 길이 | Barker 코드 | 사이드로브 레벨 |
|---|---|---|
1 | [–1] | 0dB |
2 | [–1; 1] | –6dB |
3 | [–1; –1; 1] | –9.5dB |
4 | [–1; –1; 1; –1] | –12dB |
5 | [–1; –1; –1; 1; –1] | –14dB |
7 | [–1; –1; –1; 1; 1; –1; 1] | –16.9dB |
11 | [–1; –1; –1; 1; 1; 1; –1; 1; 1; –1; 1] | –20.8dB |
13 | [–1; –1; –1; –1; –1; 1; 1; –1; –1; 1; –1; 1; –1] | –22.3dB |
출력값 업데이트 사이의 시간은 프레임당 샘플 수와 샘플 시간 파라미터 값의 곱과 같습니다. 예를 들어 샘플 시간과 프레임당 샘플 수가 각각 1인 경우 이 블록은 매초 하나의 샘플을 출력합니다. 프레임당 샘플 수를 10으로 늘리면 이 블록은 10초마다 10×1 벡터를 출력합니다. 이 타이밍에서는 상응하는 출력 레이트가 프레임당 샘플 수 파라미터에 따라 달라지지 않습니다.
확장 기능
사용법 관련 참고 및 제한 사항:
정수 전용 코드 생성을 지원하지 않습니다.
버전 내역
R2006a 이전에 개발됨R2020a부터는 Simulink에서 더 이상 R2015b 이전의 Barker Code Generator 블록 버전을 사용할 수 없습니다.
기존 모델은 Source blocks output frames of contiguous time samples but do not use frame attribute에 발표된 Barker Code Generator 블록 버전을 불러오도록 자동 업데이트됩니다. 블록 포워딩에 대한 자세한 내용은 Maintain Compatibility of Library Blocks Using Forwarding Tables (Simulink) 항목을 참조하십시오.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
