커뮤니케이션"Matlab

M

moonnightingale

Guest
내가 Matlab에서 코드를 만들었습니다.변조 방식에 관한됩니다.
잘 난 42 비트의 수를 설정 시간까지 ruuns.
43 때 또는 다른 가치가 높은 42에서 비트 내가 증가 수보다 그 오류를 제공합니다
오류입니다

??오류 == "줄거리를 사용하여
벡터와 동일한 길이 여야합니다.

==에서 오류가 발생했습니다 "BaseBandModulator 23
줄거리 (t1에, 하나의 T는 의해 y를) % 교대 Nyquist 펄스 그리고 음모

오류 == "D2에 21
NyquistPulsesData = BaseBandModulator (데이터, number_of_bits)

무엇보다 43에서 정말 특별한 변화입니다.만일 몸이 내게 도와주고 친절하게 나를 통해 UR 이메일을주고 의지입니다.내가 친절하게 내 query.Thanks 명확히 U 코드 및 u 보내드립니다추가 23 분 후 :그 함수의 코드를 postiing 오전

때 오류가 43-42에서 비트 난 inrease 번호를 부여합니다
번호 비트의 주요 기능 defiined 수있습니다함수 NyquistPulsesData = BaseBandModulator (데이터, number_of_bits)
lowLimit = -0.5; 시간 동안 % 낮은 한도를 배열 "T"를
upperLimit = 0.5;
T는 = 0.1;
마 = [lowLimit : 0.01 : upperLimit]; %는이 시간이 배열은 변경되지 않습니다
tempData = [];
tempTime = [];
케이 = 1시 1분 용 : number_of_bits
t1에 = [lowLimit : 0.01 : upperLimit] % 각 루프의 반복이 시간에 대한 배열을 변화; 둘 다 T는 의해 배열을 변화의 종료
아까 = 길이 (t1에)
케이
만약 데이터가 조 (k) == 1; 이진 한 Nyquist 펄스 생성에 대한 %

y를 = sinc (톤 / T)를;

만약 K == 1 %의 경우에는 데이터의 바이너리 데이터를 하나의 & 배열의 첫 번째 회원입니다
줄거리 (Y) 개의 마

tempData = y를;


만약 K "1
************************************************** ******
줄거리 (t1에, 하나의 T는 의해 y를) % 교대 Nyquist 펄스 그리고 음모
**********************이 오류 메시지가 오기 때문에

tempData = [tempData, 제로 (1,10)] [제로 (1, 조 (k - 1) * 10), y를];
% tempData = [tempData,] y를;


그리드
계속하다


만약 데이터가 조 (k) == 0 % 경우의 데이터 요소가 0입니다
난 = 1:101에 대한
y를 (㎡) = 0;

케이 == 1면
줄거리 (Y) 개의 마

tempData = y를;

만약 K "1
************************************************** **********
줄거리 (은 T1, y를)
***********************이 오류 메시지가 오기 때문에

tempData = [tempData, 제로 (1,10)] [제로 (1, 조 (k - 1) * 10), y를];
% tempData 모든 pulsese의 결과를 찾기 위해 소송을 제기합니다


그리드
계속하다


lowLimit = lowLimit 0.1
upperLimit = upperLimit 0.1
% ylim ([-1.5 1.5]);

제목 ( 'Nyquist 펄스');
그리드
NyquistPulsesData = tempData;
시간 = -0.5:0.01 : (0.5 (number_of_bits -1) * 0.1);
% 시간 = tempTime;
% 붙잡아
그림 (3)
줄거리 (시간, NyquistPulsesData)
제목 ( '베이스 밴드 신호 VS 시간');
그리드
ylim ([-1.5 1.5]);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 
날 이렇게 사소한 오류를 제거하는 데 도움이있습니다 거기 아무도 없나요
만약 누군가가, 친절하게 이메일을주고 통해 UR 날 돕고 싶은
문제는 아주 작은 오류 배열의 크기에 차이가있을 때 42 비트 이상의 증가로 인해 발생합니다.그렇지 않으면 확인을합니다

 
안녕하세요 moonnightingale,

이것이 당신이 말하는 아주 사소한 오류가 발생하거나, 작은 것에 동의하지 않습니다.이런 오류가 쓸모가 귀하의 모든 프로그램을 수있습니다.

문제는 이렇게하면됩니다 :

lowLimit = lowLimit 0.1
upperLimit = upperLimit 0.1

결과가 어떻게 수치 오류가 있기 때문에 기대하지 않습니다.
매우 당신과 비슷한 코드의 다음 부분을 참조하십시오 (당신이 그렇게한다면 2 제한) :

x = 0;
케이 = 1:100에 대한
x = x 0.1;


당신이 기대하는 것이라고 보면 X는 정확히 10, 맞죠의 최종 값을?
아니오!
유형 "엑스레이 10":엑스레이 10
ans =
- 1.9540e - 014

in floating point arithmetic; there are small errors that accumulate over the sums.

사실, 0.1 부동 소수점 연산을 정확히
표현할 수없습니다; 거기 액수 이상의 축적 작은 오류가있습니다.
어떤 시점에서, 벡터 t1에 정의된 42 또는 43 반복 사건 (년) 이후

t1에 = [lowLimit : 0.01 : upperLimit]

그렇게 했어야 하나의 적은 구성 요소를했다.

당신이 문제를 해결할 수 있기를 바랍니다.
안부

부터 Z

 
LowLimit =

3.6000upperLimit =

4.6000t1에 =

컬럼 1을 통해 11

3.6000 3.6100 3.6200 3.6300 3.6400 3.6500 3.6600 3.6700 3.6800 3.6900 3.7000

열 12을 통해 22

3.7100 3.7200 3.7300 3.7400 3.7500 3.7600 3.7700 3.7800 3.7900 3.8000 3.8100

열 23 일까지 33

3.8200 3.8300 3.8400 3.8500 3.8600 3.8700 3.8800 3.8900 3.9000 3.9100 3.9200

열 34을 통해 44

3.9300 3.9400 3.9500 3.9600 3.9700 3.9800 3.9900 4.0000 4.0100 4.0200 4.0300

열 45을 통해 55

4.0400 4.0500 4.0600 4.0700 4.0800 4.0900 4.1000 4.1100 4.1200 4.1300 4.1400

56 컬럼을 통해 66

4.1500 4.1600 4.1700 4.1800 4.1900 4.2000 4.2100 4.2200 4.2300 4.2400 4.2500

67 컬럼을 통해 77

4.2600 4.2700 4.2800 4.2900 4.3000 4.3100 4.3200 4.3300 4.3400 4.3500 4.3600

열 78을 통해 88

4.3700 4.3800 4.3900 4.4000 4.4100 4.4200 4.4300 4.4400 4.4500 4.4600 4.4700

89 컬럼을 통해 99

4.4800 4.4900 4.5000 4.5100 4.5200 4.5300 4.5400 4.5500 4.5600 4.5700 4.5800

열 100을 통해 101

4.5900 4.6000

에선 =

101케이 =

42**************************************************
하지만 언제는 BITS = 케이 = 43 길이 없게되어 100 번호를

lowLimit =

3.7000upperLimit =

4.7000t1에 =

컬럼 1을 통해 11

3.7000 3.7100 3.7200 3.7300 3.7400 3.7500 3.7600 3.7700 3.7800 3.7900 3.8000

열 12을 통해 22

3.8100 3.8200 3.8300 3.8400 3.8500 3.8600 3.8700 3.8800 3.8900 3.9000 3.9100

열 23 일까지 33

3.9200 3.9300 3.9400 3.9500 3.9600 3.9700 3.9800 3.9900 4.0000 4.0100 4.0200

열 34을 통해 44

4.0300 4.0400 4.0500 4.0600 4.0700 4.0800 4.0900 4.1000 4.1100 4.1200 4.1300

열 45을 통해 55

4.1400 4.1500 4.1600 4.1700 4.1800 4.1900 4.2000 4.2100 4.2200 4.2300 4.2400

56 컬럼을 통해 66

4.2500 4.2600 4.2700 4.2800 4.2900 4.3000 4.3100 4.3200 4.3300 4.3400 4.3500

67 컬럼을 통해 77

4.3600 4.3700 4.3800 4.3900 4.4000 4.4100 4.4200 4.4300 4.4400 4.4500 4.4600

열 78을 통해 88

4.4700 4.4800 4.4900 4.5000 4.5100 4.5200 4.5300 4.5400 4.5500 4.5600 4.5700

89 컬럼을 통해 99

4.5800 4.5900 4.6000 4.6100 4.6200 4.6300 4.6400 4.6500 4.6600 4.6700 4.6800

열 100

4.6900에선 =

100케이 =

43

이곳 COULUM 100 거기 어리석 COLUMN 101 틀림 4.70와 동등해질

어떻게 보상 해 드려야이 문제
PLZ PLZHELP 마인

 
친애하는 moonnightingale,

내 전 게시물을 읽어 보셨나요?
ID를 이해할 수 있으세요?
안부

부터 Z

 
그래, 내가 그것을 읽었지만, 나는이 문제를 해결하기 위해 지금 uptill 오전없습니다

 
"더러운"방법,하지만 귀하의 코드에서 최소한의 변화를 필요로 대체하는 것입니다

upperLimit = 0.5;

에 의해

upperLimit = 0.500001;

(왜 그런지 알아?) 마
비록 그것이 최선의 방법은되지 않기 때문에이 작업해야합니다.
안부

부터 Z

 

Welcome to EDABoard.com

Sponsor

Back
Top