# how to mute the signal at a certain time

조회 수: 6 (최근 30일)
Naufal Arfani 2020년 12월 30일
편집: Paul Hoffrichter 2021년 1월 4일
I have a signal data that at t = 0 to t = 1 has a constant value of 0 and only at t = 1 etc. you can see the results, how do I get rid of the signal data contained at t = 0 to t = 1 or make the signal data reading start from t = 1

댓글을 달려면 로그인하십시오.

### 답변 (1개)

Paul Hoffrichter 2020년 12월 30일
편집: Paul Hoffrichter 2020년 12월 30일
This will remove all the leading zeros of a Sig vector:
Sig = Sig(find(Sig,1,'first'):end);
##### 댓글 수: 2없음 표시없음 숨기기
Naufal Arfani 2021년 1월 3일
I have used this code on my simulink but it still doesn't work. Is it possible because the signal form is discrete with a sampling frequency of 1000 so that the shape [1 x 1000] can't use the code above or maybe I entered the code incorrectly? Please help me
function y = fcn(u)
Sig = u(find(u,1,'first'):end);
y = Sig;
Paul Hoffrichter 2021년 1월 3일
편집: Paul Hoffrichter 2021년 1월 4일
A sampling frequency of 1000 means there are 1000 samples per second. But if your signal is [1x1000], then the duration is 1 second.
>> I have a signal data that at t = 0 to t = 1 has a constant value of 0.
I assumed your units for t was in seconds. If so, then your entire [1x1000] signal is filled with 0's. I do not see how you can have more than 1 seconds worth of data if you only have 1000 samples.
The answer I provided did not take into account your sampling frequency, Fs, since it was not mentioned. Your fcn() shifts the input, u, to the left removing all leading 0's.
close all
x = zeros(1,500);
rn = rand(1,200);
x(301:end) = rn;
figure, plot(x);
y = fcn(x);
figure, plot(y,'g')
function y = fcn(u)
y = u(find(u,1,'first'):end);
end

댓글을 달려면 로그인하십시오.

### 카테고리

Help CenterFile Exchange에서 Signal Attributes and Indexing에 대해 자세히 알아보기

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by