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 interpolation','Nearest neighbor interpolation','Piecewise cubic interpolation') hold off
입력 인수
t
— 시간 값
벡터
func
가 평가되는 시간 값으로, 벡터로 지정됩니다.
d
— 오프셋
행 벡터 | 2열 행렬
배열 t
의 값에서 제거된 오프셋으로, 실수형 벡터로 지정됩니다. 선택 사항인 이득 인자는 d
를 2열 행렬로 지정하여 각각의 지연된 평가에 적용할 수 있습니다. 1열에는 오프셋을 정의하고 2열에는 이와 관련된 이득을 정의합니다. d
를 행 벡터로 지정할 경우 값은 지연으로만 해석됩니다.
func
— 연속 함수
'rectpuls'
| 'gauspuls'
| 'tripuls'
| 함수 핸들
샘플을 기반으로 하여 펄스 열을 생성하는 데 사용되는 연속 함수로, 'rectpuls'
, 'gauspuls'
, 'tripuls'
또는 함수 핸들로 지정됩니다.
func
를 함수 핸들로 사용할 경우 다음과 같이 함수 파라미터를 전달할 수 있습니다.
y = pulstran(t,d,'gauspuls',10e3,0.5);
이렇게 하면 50%의 대역폭을 갖는 10kHz 가우스 펄스를 사용하여 펄스 열이 생성됩니다.
p
— 프로토타입 펄스
벡터
프로토타입 함수로, 벡터로 지정됩니다. p
의 간격은 [0,(length(p)-1)/fs]
이며, 그 샘플은 이 구간 밖에서 정확히 0입니다. 기본적으로, 선형 보간은 지연 생성에 사용됩니다.
fs
— 샘플 레이트
1
(디폴트 값) | 실수형 스칼라
샘플 레이트(단위: Hz)로, 실수형 스칼라로 지정됩니다.
intfunc
— 보간 방법
'linear'
(디폴트 값) | 'nearest'
| 'next'
| 'previous'
| 'pchip'
| 'cubic'
| 'v5cubic'
| 'makima'
| 'spline'
보간 방법으로, 다음 표에 나와 있는 옵션 중 하나로 지정됩니다.
방법 | 설명 | 연속성 | 설명 |
---|---|---|---|
| 선형 보간입니다. 쿼리 점에서 보간된 값은 각 차원의 인접 그리드 점에서의 값이 선형 보간된 것입니다. 이는 디폴트 보간 방법입니다. | C0 |
|
| 최근접이웃 보간입니다. 쿼리 점에서 보간된 값은 가장 근접한 샘플 그리드 점에서의 값입니다. | 불연속 |
|
| 다음 이웃 보간입니다. 쿼리 점에서 보간된 값은 그다음 샘플 그리드 점에서의 값입니다. | 불연속 |
|
| 이전 이웃 보간입니다. 쿼리 점에서 보간된 값은 이전 샘플 그리드 점에서의 값입니다. | 불연속 |
|
| 형태 보존 조각별 3차 보간입니다. 쿼리 점에서 보간된 값은 인접 그리드 점에서의 값이 형태 보존 조각별 3차 보간된 것입니다. | C1 |
|
| MATLAB® 5에서 사용되는 3차 컨벌루션입니다. | C1 | 점의 간격이 균일해야 합니다. |
| 아키마 3차 에르미트 다항식 변형 보간입니다. 쿼리 점에서 보간된 값은 차수가 최대 3인 조각별 다항식 함수를 기반으로 합니다. 아키마 수식이 오버슈트를 방지하도록 수정되었습니다. | C1 |
|
| not-a-knot 끝 조건을 사용한 스플라인 보간입니다. 쿼리 점에서 보간된 값은 각 차원의 인접 그리드 점에서의 값이 3차 보간된 것입니다. | C2 |
|
출력 인수
y
— 펄스 열
벡터
함수에 의해 생성된 펄스 열로, 벡터로 반환됩니다.
확장 기능
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)