How do I create a better data pulse train?
古いコメントを表示
I have a question on creating a data pulse train for several signals. To start off, here is my code:
% (binary_eye.m)
% generage and plot eyediagrams
%
clear;clf;
data = sign(randn(1,400)); %Generate 400 random bits
Tau=64;
dataup = upsample(data, Tau); %Generate impulse train
yrz=conv(dataup,prz(Tau)); %Return to zero polar signal
yrz=yrz(1:end-Tau+1);
figure(1);
plot(yrz); title('YRZ data pulse train');
ynrz=conv(dataup,pnrz(Tau)); %Non-return to zero polar
ynrz=ynrz(1:end-Tau+1);
figure(2);
plot(ynrz); title('YNRZ data pulse train');
ysine=conv(dataup,psine(Tau)); %Half sinusoid polar
ysine=ysine(1:end-Tau+1);
figure(3);
plot(ysine); title('YSINE data pulse train');
Td=4; %Truncating raised cosine to 4 periods
yrcos=conv(dataup,prcos(0.5,Td,Tau)); % rolloff factor = 0.5
yrcos=yrcos (2*Td*Tau:end-2*Td*Tau+1); % generating RC pulse train
figure(4);
plot(yrcos); title('YRCOS data pulse train');
eye1=eyediagram(yrz,2*Tau,Tau,Tau/2);title('RZ eye-diagram');
eye2=eyediagram(ynrz,2*Tau,Tau,Tau/2);title('NRZ eye diagram');
eye3=eyediagram(ysine,2*Tau,Tau,Tau/2);title('Half-sine eye-diagram');
eye4=eyediagram(yrcos,2*Tau,Tau);title('Raised-cosine eye-diagram');
As you can see in my comments and the graph titles, I am trying to plot the data pulse train (the time series plot of the signals like yrz and ynrz) at several places. However, when I graph it, the graph turns out quite convoluted with all the pulses. What can I do to sort of zoom in on a portion to create a nice looking data pulse train for these signals? Thanks so much for your help in advanced!
1 件のコメント
billyjthorton
2016 年 8 月 7 日
回答 (1 件)
Image Analyst
2016 年 8 月 7 日
I get this error:
Undefined function or variable 'prz'.
Error in test3 (line 8)
yrz=conv(dataup,prz(Tau)); %Return to zero polar signal
So anyway, one thing I can suggest is to call xlim() and ylim() to home in on the region you want to view in higher detail.
8 件のコメント
billyjthorton
2016 年 8 月 7 日
Image Analyst
2016 年 8 月 7 日
Will xlim() and ylim() work for you?
billyjthorton
2016 年 8 月 7 日
Image Analyst
2016 年 8 月 7 日
Anytime after you call plot().
billyjthorton
2016 年 8 月 7 日
編集済み: billyjthorton
2016 年 8 月 7 日
Image Analyst
2016 年 8 月 7 日
xlim() by itself just returns the existing limits of the x axis. To SET them, you have to pass in some values. Did you look at the help for it?
billyjthorton
2016 年 8 月 7 日
Image Analyst
2016 年 8 月 7 日
The set() function is the old fashioned way. Some properties didn't have a special function like xlim() to get them and you had to do it manually, like
set(gca, 'XTick', 0:20:100);
Now however, you use OOP syntax
ax = gca;
ax.XTick = 0:20:100;
カテゴリ
ヘルプ センター および File Exchange で AI for Signals についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!