pulstran
펄스 열
설명
예제
이 예제에서는 단위 폭을 가진 디폴트 사각 펄스를 사용하여 펄스 열을 생성합니다. 반복 주파수는 0.5Hz이고, 신호 길이는 60초이고, 샘플 레이트는 1kHz입니다. 이득 인자는 주파수 0.05Hz의 정현파입니다.
t = 0:1/1e3:60; d = [0:2:60;sin(2*pi*0.05*(0:2:60))]'; x = @rectpuls; y = pulstran(t,d,x); plot(t,y) hold off xlabel('Time (s)') ylabel('Waveform')
이 예제에서는 반복 주파수가 3Hz인 비대칭 톱니파형을 생성합니다. 톱니파의 폭은 0.2초이고, 왜도 인자는 -1입니다. 신호 길이는 1초이고, 샘플 레이트는 1kHz입니다. 펄스 열을 플로팅합니다.
fs = 1e3; t = 0:1/1e3:1; d = 0:1/3:1; x = tripuls(t,0.2,-1); y = pulstran(t,d,x,fs); plot(t,y) hold off xlabel('Time (s)') ylabel('Waveform')
10MHz의 레이트로 샘플링되고 50%의 대역폭을 갖는 10kHz 가우스 RF 펄스를 플로팅합니다. 포락선이 피크에서 40dB 아래로 떨어지는 위치에서 펄스를 자릅니다.
fs = 1e7; tc = gauspuls('cutoff',10e3,0.5,[],-40); t = -tc:1/fs:tc; x = gauspuls(t,10e3,0.5); plot(t,x) xlabel('Time (s)') ylabel('Waveform')
펄스 반복 주파수는 1kHz이고, 샘플 레이트는 50kHz이며, 펄스 열 길이는 25ms입니다. 이득 인자는 주파수 0.1Hz의 정현파입니다.
ts = 0:1/50e3:0.025; d = [0:1/1e3:0.025;sin(2*pi*0.1*(0:25))]'; y = pulstran(ts,d,x,fs);
주기성 가우스 펄스 열을 플로팅합니다.
plot(ts,y) xlim([0 0.01]) xlabel('Time (s)') ylabel('Waveform')
지수적으로 감쇠하는 정현파로 구성된 사용자 지정 펄스를 생성하는 함수를 작성합니다. 펄스는 시간에 대한 기함수입니다. 생성 함수는 정현파 주파수와 감쇠 인자에 대해 단일 값을 지정하는 두 번째 입력 인수를 가집니다. 1초 동안 1kHz로 샘플링된, 주파수와 감쇠 값이 모두 30인 생성된 펄스를 표시합니다.
fnx = @(x,fn) sin(2*pi*fn*x).*exp(-fn*abs(x)); ffs = 1000; tp = 0:1/ffs:1; pp = fnx(tp,30); plot(tp,pp) xlabel('Time (s)') ylabel('Waveform')
pulstran
함수를 사용하여 사용자 지정 펄스 열을 생성합니다. 열은 1.2초 동안 2kHz로 샘플링됩니다. 펄스는 1/3초마다 한 번씩 발생하며 지수적으로 감소하는 진폭을 가집니다.
먼저, 생성된 펄스를 프로토타입으로 지정합니다. 함수 호출에 프로토타입 샘플 레이트를 포함합니다. 여기서는 pulstran
이 지정된 위치에서 펄스를 복제합니다.
fs = 2e3; t = 0:1/fs:1.2; d = 0:1/3:1; dd = [d;4.^-d]'; z = pulstran(t,dd,pp,ffs); plot(t,z) xlabel('Time (s)') ylabel('Waveform')
이번에는 생성 함수를 입력 인수로 사용하여 펄스 열을 다시 생성합니다. 함수 호출에 주파수와 감쇠 파라미터를 포함합니다. 여기서는 pulstran
이 중심이 0에 오도록 펄스를 생성합니다.
y = pulstran(t,dd,fnx,30); plot(t,y) xlabel('Time (s)') ylabel('Waveform')
주파수 0.25Hz의 지수적으로 감쇠하는 사용자 지정 톱니파형을 생성하는 함수를 작성합니다. 생성 함수는 톱니파 주파수와 감쇠 인자에 대해 단일 값을 지정하는 두 번째 입력 인수를 가집니다. 1초 동안 0.1kHz로 샘플링된, 주파수와 감쇠 값이 모두 50인 생성된 펄스를 표시합니다.
fnx = @(x,fn) sawtooth(2*pi*fn*0.25*x).*exp(-2*fn*x.^2); fs = 100; t = 0:1/fs:1; pp = fnx(t,50); plot(t,pp)
pulstran
함수를 사용하여 사용자 지정 펄스 열을 생성합니다. 열은 125초 동안 0.1kHz로 샘플링됩니다. 펄스는 25초마다 한 번씩 발생하며 지수적으로 감소하는 진폭을 가집니다.
생성된 펄스를 프로토타입으로 지정합니다. 디폴트 선형 보간 방법, 최근접이웃 보간 및 조각별 3차 보간을 사용하여 3개의 펄스 열을 생성합니다. 하나의 플롯에서 펄스 열을 비교합니다.
d = [0:25:125; exp(-0.015*(0:25:125))]'; ffs = 100; tp = 0:1/ffs:125; r = pulstran(tp,d,pp); y = pulstran(tp,d,pp,"nearest"); q = pulstran(tp,d,pp,"pchip"); plot(tp,r) hold on plot(tp,y) plot(tp,q) xlim([0 125]) legend(["Linear" "Nearest neighbor" "Piecewise cubic"]+" interpolation") hold off
입력 인수
func
가 평가되는 시간 값으로, 벡터로 지정됩니다.
배열 t
의 값에서 제거된 오프셋으로, 실수형 벡터로 지정됩니다. 선택 사항인 이득 인자는 d
를 2열 행렬로 지정하여 각각의 지연된 평가에 적용할 수 있습니다. 1열에는 오프셋을 정의하고 2열에는 이와 관련된 이득을 정의합니다. d
를 행 벡터로 지정할 경우 값은 지연으로만 해석됩니다.
샘플을 기반으로 하여 펄스 열을 생성하는 데 사용되는 연속 함수로, 'rectpuls'
, 'gauspuls'
, 'tripuls'
또는 함수 핸들로 지정됩니다.
func
를 함수 핸들로 사용할 경우 다음과 같이 함수 파라미터를 전달할 수 있습니다.
y = pulstran(t,d,'gauspuls',10e3,0.5);
이렇게 하면 50%의 대역폭을 갖는 10kHz 가우스 펄스를 사용하여 펄스 열이 생성됩니다.
프로토타입 함수로, 벡터로 지정됩니다. p
의 간격은 [0,(length(p)-1)/fs]
이며, 그 샘플은 이 구간 밖에서 정확히 0입니다. 기본적으로, 선형 보간은 지연 생성에 사용됩니다.
샘플 레이트(단위: Hz)로, 실수형 스칼라로 지정됩니다.
보간 방법으로, 다음 표에 나와 있는 옵션 중 하나로 지정됩니다.
방법 | 설명 | 연속성 | 설명 |
---|---|---|---|
| 선형 보간입니다. 쿼리 점에서 보간된 값은 각 차원의 인접 그리드 점에서의 값이 선형 보간된 것입니다. 이는 디폴트 보간 방법입니다. | C0 |
|
| 최근접이웃 보간입니다. 쿼리 점에서 보간된 값은 가장 근접한 샘플 그리드 점에서의 값입니다. | 불연속 |
|
| 다음 이웃 보간입니다. 쿼리 점에서 보간된 값은 그다음 샘플 그리드 점에서의 값입니다. | 불연속 |
|
| 이전 이웃 보간입니다. 쿼리 점에서 보간된 값은 이전 샘플 그리드 점에서의 값입니다. | 불연속 |
|
| 형태 보존 조각별 3차 보간입니다. 쿼리 점에서 보간된 값은 인접 그리드 점에서의 값이 형태 보존 조각별 3차 보간된 것입니다. | C1 |
|
| MATLAB® 5에서 사용되는 3차 컨벌루션입니다. | C1 | 점의 간격이 균일해야 합니다. |
| 아키마 3차 에르미트 다항식 변형 보간입니다. 쿼리 점에서 보간된 값은 차수가 최대 3인 조각별 다항식 함수를 기반으로 합니다. 아키마 수식이 오버슈트를 방지하도록 수정되었습니다. | C1 |
|
| not-a-knot 끝 조건을 사용한 스플라인 보간입니다. 쿼리 점에서 보간된 값은 각 차원의 인접 그리드 점에서의 값이 3차 보간된 것입니다. | C2 |
|
출력 인수
함수에 의해 생성된 펄스 열로, 벡터로 반환됩니다.
확장 기능
버전 내역
R2006a 이전에 개발됨
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)