nxm 행렬의 요소에서 n 개의 사인파를 생성하려면 어떻게해야합니까?

한스

다양한 진폭, 지속 시간 및 주파수의 13 개 파형을 생성하는 프로그램을 MATLAB에 작성하고 있습니다. 각 파형이 5 번 반복되므로 총 65 번의 '시행'이 있습니다.

각 시도의 총 길이 = 1.5ms. 샘플링 주파수 = 4kHz. 파도가 0.5ms에서 시작되기를 바랍니다. 파동이 시작되기 전과 그 오프셋 이후에 나는 진폭이 0이되기를 원합니다 (즉, 파동 전후의 '평탄 선').

65x3 행렬을 만들었습니다. 여기서 열은 65 사인파의 주파수 ( 'hz'), 진폭 ( 'a') 및 지속 시간 (ms)을 나타냅니다. 각 행은 단일 웨이브를 나타냅니다.

이 65x3 매트릭스에 포함 된 정보를 사용하여 진폭 'a', 주파수 'hz'및 기간 'ms'의 65 개의 사인파를 생성하고 싶습니다. 구체적으로 말하자면, 각 웨이브는 행렬의 n 번째 행에 지정된 매개 변수 (hz, a, ms)를 사용하여 생성되어야합니다. 예를 들어 행 1 = 100, 1, 50 ... 이것은 50ms 동안 지속되는 100Hz 사인파 (진폭 = 1)를 생성하고 싶다는 의미입니다.

이 문제를 해결하기 위해 for 루프를 구성하려고 시도했습니다. 그러나 루프는 여러 오류를 반환하며 해결 방법을 모르겠습니다. 오류가 반환되지 않도록 코드를 수정했습니다. 그러나 내 최근 시도는 동일한 지속 시간의 65 개의 파동을 생성하는 것 같습니다. 사실 각 파동의 지속 시간은 벡터 'ms'에 명시된 것이어야합니다.

내 최근의 시도는 비록 초보자이지만 여전히 성공하지 못한 시도입니다. ( 'trials'는 위에서 논의한 65x3 매트릭스를 나타냅니다. mA = 진폭).

hz=trials(:,1); mA=trials(:,2); ms=trials(:,3); 
trials_waves=zeros(65,500); % the max duration (= 500ms); unsure of this part?
for n = 1:size(order,1)
    trials_waves = mA*sin(2*pi*hz*0:ms);
end

제공된 정보가 부족한 경우 사과드립니다. 이 웹 사이트에 질문을 한 것은 이번이 처음입니다. 필요한 경우 더 많은 정보를 제공 할 수 있습니다.

도와 주셔서 감사합니다.

최고, H

Trogdor

좋은 출발을하신 것 같습니다. 해결 방법으로 더 나아가도록 도와 드리겠습니다.

사인파 만들기

우선 가변 속도, 진폭 및 길이를 가진 사인파를 만들어 보겠습니다.

Fs = 4e3; % sample rate of 4 kHz
Sr = 100; % example rate
Sa = 1;   % amplitude
St = 10e-3; % signal duration is 10 ms

% To create a sine wave in MATLAB, I'm going to first create a vector of time, 
% `t`, and then create the vector of sine wave samples.

N = St * Fs; % number of samples = duration times sample rate;
t = (1:N) * 1/Fs; % time increment is one over sample rate

% Now I can build my sine wave:

Wave = Sa * sin( 2 * pi * Sr * t );
figure; plot(t, Wave); 

노트! 이것은 전체 파장에 대해 겨우 충분한 시간이므로 느린 속도와 짧은 시간 길이에주의하십시오.

많은 사인파 만들기

이것을 루프로 바꾸려면 입력 변수의 벡터로 인덱싱해야합니다. 이전 예를 사용하여 :

Fs = 4e3; % sample rate of 4 kHz
Sr = [100 200 300]; % rates
Sa = [1 .8 .5];   % amplitudes
St = [10e-3 20e-3 25e-3]; % signal durations

nWaves = length(Sr);

N = max(St) * Fs; % number of samples = duration times sample rate;
t = (1:N) /Fs; % time increment is one over sample rate
% initialize the array
waves = zeros(nWaves, N);

for iWaves = 1:nWaves
    % index into each variable
    thisT = (1:St(iWaves) * Fs) * 1/Fs;
    myWave = Sa(iWaves) * sin( 2 * pi * Sr(iWaves) * thisT );
    waves(iWaves,1:length(myWave)) = myWave;
end
figure; plot(t, waves); 

여전히 하나의 조각이 더 있습니다. 신호의 프런트 엔드를 제로 패딩하는 방법은 많습니다. 한 가지 방법은 제가 설명한 방식으로 신호를 생성 한 다음 적절한 수의 0을 앞에 연결하는 것입니다. 신호 배열. 막히면 새로운 질문을 자유롭게하십시오. 행운을 빕니다!

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

해당 행렬에서 생성 된 목록에서 행렬의 요소 인덱스를 얻으려면 어떻게해야합니까?

분류에서Dev

Haskell의 목록에서 임의의 요소 시퀀스를 생성하려면 어떻게해야합니까?

분류에서Dev

PowerShell에서 XML의 새 요소를 자동으로 생성하려면 어떻게해야합니까?

분류에서Dev

노드 js의 RSA 공개 키에서 SKI를 생성하려면 어떻게해야합니까?

분류에서Dev

SwiftUI에서 가변 개수의 Subview로 View를 생성하려면 어떻게해야합니까?

분류에서Dev

Aframe의 개체에 템플릿 구성 요소를 사용하려면 어떻게해야합니까?

분류에서Dev

DOMDocument의 createElement를 사용하여 Javascript 요소를 생성하려면 어떻게해야합니까?

분류에서Dev

프롤로그의 목록에서 마지막 n 개 요소를 제거하려면 어떻게해야합니까?

분류에서Dev

전체 파일에서 이중 줄을 제거하고 각 줄에서 처음 n 개의 문자를 생략하려면 어떻게해야합니까?

분류에서Dev

Orbeon에서 REST API를 사용하여 양식 정의를 생성하려면 어떻게해야합니까?

분류에서Dev

행렬의 각 요소에 대해 새 프로세스를 만들려면 어떻게해야합니까?

분류에서Dev

Python에서 JSON 개체 요소를 별도의 배열로 분리하려면 어떻게해야합니까?

분류에서Dev

목록의 개별 (여러) 요소에서 대괄호를 제거하려면 어떻게해야합니까?

분류에서Dev

각 요소의 인덱스에 함수를 적용하여 MATLAB에서 배열을 생성하려면 어떻게해야합니까?

분류에서Dev

벡터에 두 개의 개체를 하나의 요소로 추가하려면 어떻게해야합니까?

분류에서Dev

벡터에 두 개의 개체를 하나의 요소로 추가하려면 어떻게해야합니까?

분류에서Dev

Fabric에서 사용자 정의 도움말 메뉴를 생성하려면 어떻게해야합니까?

분류에서Dev

greenDAO의 생성 된 getter 및 setter에서 "m"접두사를 제거하려면 어떻게해야합니까?

분류에서Dev

배열 목록 n 개의 tyme에 데이터를 추가하려면 어떻게해야합니까?

분류에서Dev

Swagger를 사용하여 모의 서버를 생성하려면 어떻게해야합니까?

분류에서Dev

N 개의 다른 통합 문서를 N 개의 시트가있는 하나의 통합 문서로 통합하려면 어떻게해야합니까?

분류에서Dev

Swift에서 임의의 유니 코드 문자를 생성하려면 어떻게해야합니까?

분류에서Dev

하나의 표현식에서 결과를 생성하고 반환하려면 어떻게해야합니까?

분류에서Dev

R 언어의 함수 내에서 행렬의 일부 요소를 자동으로 변경하려면 어떻게해야합니까?

분류에서Dev

생성기를 사용하여 동시에 두 개 이상의 어레이를 생성하려면 어떻게해야합니까?

분류에서Dev

Typescript를 사용하여 생성자의 배열에 값을 할당하려면 어떻게해야합니까?

분류에서Dev

react-create-app에서 하나의 번들 파일을 생성하려면 어떻게해야합니까?

분류에서Dev

다른 문서의 정보에서 Reportlab에서 PDF를 생성하려면 어떻게해야합니까?

분류에서Dev

하위 구성 요소에서 상위 구성 요소의 경로 구성 요소를 렌더링하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    해당 행렬에서 생성 된 목록에서 행렬의 요소 인덱스를 얻으려면 어떻게해야합니까?

  2. 2

    Haskell의 목록에서 임의의 요소 시퀀스를 생성하려면 어떻게해야합니까?

  3. 3

    PowerShell에서 XML의 새 요소를 자동으로 생성하려면 어떻게해야합니까?

  4. 4

    노드 js의 RSA 공개 키에서 SKI를 생성하려면 어떻게해야합니까?

  5. 5

    SwiftUI에서 가변 개수의 Subview로 View를 생성하려면 어떻게해야합니까?

  6. 6

    Aframe의 개체에 템플릿 구성 요소를 사용하려면 어떻게해야합니까?

  7. 7

    DOMDocument의 createElement를 사용하여 Javascript 요소를 생성하려면 어떻게해야합니까?

  8. 8

    프롤로그의 목록에서 마지막 n 개 요소를 제거하려면 어떻게해야합니까?

  9. 9

    전체 파일에서 이중 줄을 제거하고 각 줄에서 처음 n 개의 문자를 생략하려면 어떻게해야합니까?

  10. 10

    Orbeon에서 REST API를 사용하여 양식 정의를 생성하려면 어떻게해야합니까?

  11. 11

    행렬의 각 요소에 대해 새 프로세스를 만들려면 어떻게해야합니까?

  12. 12

    Python에서 JSON 개체 요소를 별도의 배열로 분리하려면 어떻게해야합니까?

  13. 13

    목록의 개별 (여러) 요소에서 대괄호를 제거하려면 어떻게해야합니까?

  14. 14

    각 요소의 인덱스에 함수를 적용하여 MATLAB에서 배열을 생성하려면 어떻게해야합니까?

  15. 15

    벡터에 두 개의 개체를 하나의 요소로 추가하려면 어떻게해야합니까?

  16. 16

    벡터에 두 개의 개체를 하나의 요소로 추가하려면 어떻게해야합니까?

  17. 17

    Fabric에서 사용자 정의 도움말 메뉴를 생성하려면 어떻게해야합니까?

  18. 18

    greenDAO의 생성 된 getter 및 setter에서 "m"접두사를 제거하려면 어떻게해야합니까?

  19. 19

    배열 목록 n 개의 tyme에 데이터를 추가하려면 어떻게해야합니까?

  20. 20

    Swagger를 사용하여 모의 서버를 생성하려면 어떻게해야합니까?

  21. 21

    N 개의 다른 통합 문서를 N 개의 시트가있는 하나의 통합 문서로 통합하려면 어떻게해야합니까?

  22. 22

    Swift에서 임의의 유니 코드 문자를 생성하려면 어떻게해야합니까?

  23. 23

    하나의 표현식에서 결과를 생성하고 반환하려면 어떻게해야합니까?

  24. 24

    R 언어의 함수 내에서 행렬의 일부 요소를 자동으로 변경하려면 어떻게해야합니까?

  25. 25

    생성기를 사용하여 동시에 두 개 이상의 어레이를 생성하려면 어떻게해야합니까?

  26. 26

    Typescript를 사용하여 생성자의 배열에 값을 할당하려면 어떻게해야합니까?

  27. 27

    react-create-app에서 하나의 번들 파일을 생성하려면 어떻게해야합니까?

  28. 28

    다른 문서의 정보에서 Reportlab에서 PDF를 생성하려면 어떻게해야합니까?

  29. 29

    하위 구성 요소에서 상위 구성 요소의 경로 구성 요소를 렌더링하려면 어떻게해야합니까?

뜨겁다태그

보관