problem in plotting figure
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Dear fellows,i have modified code but i have problem in plotting the last figure(4) and problem is in this line plot(tvec,abs(zifft)).Problem was in my resolution in FFT.Can anyone edit my code please.
clc,close all,clear all
codn=100;
% fc=6e+3;
fs=36000;
bode=1000;
code=round(rand(1,codn));
code_len=round(1/bode/(1/fs))
for ii=1:codn
x((ii-1)*code_len+1:code_len*ii)=code(ii)
end
x2 = x-(1/2) % get rid of most of the dc peak
% set up time and frequency arrays
length(x)
N = length(x)
delt = 1/fs;
delf = fs/N;
tvec = (1:N)*delt;
n = 2^nextpow2(N);
fvec = (-n/2:n/2-1)*delf ; % shifted frequency array
figure(1)
plot(tvec,x2(1,:)+0.5)
title('orignal baseband')
xlabel('time');
ylabel('amplitude')
ylim([-1 1.5]);
y = fftshift(fft(x2,n));
z=abs(y);
figure(2)
plot(fvec,z)
title('FFT')
xlabel('frequency')
ylabel('amplitude')
figure(3)
z=y;
z(abs(fvec)>=50& abs(fvec)<=150)=0
plot(fvec,abs(y))
xlabel('frequency removed from 50 to 150 HZ');
ylabel('amplitude')
figure(4)
zf=fftshift(z)*n;
zifft=ifft(zf)+0.5;
plot(tvec,abs(zifft))
ylim([-1 1.5])
title('recovered signal')
xlabel('time');
ylabel('amplitude')
0 Kommentare
Antworten (1)
KALYAN ACHARJYA
am 7 Nov. 2019
Bearbeitet: KALYAN ACHARJYA
am 8 Nov. 2019
In the line no 44, see both variable have different lengths, how can plot two different lengths vectors
here
plot(tvec,abs(zifft))
##
>> whos tvec
Name Size Bytes Class Attributes
tvec 1x3600 28800 double
>> whos zifft
Name Size Bytes Class Attributes
zifft 1x4096 32768 double
Do change the code/equations, ensure that, in any plot all vectors must be same length.
Please check with back approach and see length of required variables why vectors reflects those having different lengths.
7 Kommentare
KALYAN ACHARJYA
am 11 Nov. 2019
@Imran
Is this?
figure(4)
y=fftshift(fft(x2,length(tvec)));
z=y;
z(abs(fvec)>=50 & abs(fvec)<=150)=0
zf=fftshift(z)*n;
zifft=ifft(zf)+0.5;
plot(tvec,abs(zifft))
%ylim([-1 1.5])
title('recovered signal')
xlabel('time');
ylabel('amplitude')
![56.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/247749/56.png)
Siehe auch
Kategorien
Mehr zu Line Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!