clearall;closeall;fs=8e5;%抽样频率fm=20e3;%基带频率n=2*(6*fs/fm);final=(1/fs)*(n-1);fc=2e5;%载波频率t=0:1/fs:(final);Fn=fs/2;%耐奎斯特频率%用正弦波产生方波%==========================================twopi_fc_t=2*pi*fm*t;A=1;phi=0;x=A*cos(twopi_fc_t+phi);%方波am=1;x(x>0)=am;x(x<0)=-1;figure(1)subplot(321);plot(t,x);axis([02e-4-22]);title('基带信号');gridoncar=sin(2*pi*fc*t);%载波ask=x.*car;%载波调制subplot(322);plot(t,ask);axis([0200e-6-22]);title('PSK信号');gridon;%=====================================================vn=0.1;noise=vn*(randn(size(t)));%产生乐音subplot(323);plot(t,noise);gridon;title('乐音信号');axis([0.2e-3-11]);askn=(ask+noise);%调制后加噪subplot(324);plot(t,askn);axis([0200e-6-22]);title('加噪后信号');gridon;%带通滤波%======================================================================fBW=40e3;f=[0:3e3:4e5];w=2*pi*f/fs;z=exp(w*j);BW=2*pi*fBW/fs;a=.8547;%BW=2(1-a)/sqrt(a)p=(j^2*a^2);gain=.135;Hz=gain*(z+1).*(z-1)./(z.^2-(p));subplot(325);plot(f,abs(Hz));title('带通滤波器');gridon;Hz(Hz==0)=10^(8);%avoidlog(0)subplot(326);plot(f,20*log10(abs(Hz)));gridon;title('Receiver-3dBFilterResponse');axis([1e53e5-31]);%滤波器系数a=[100.7305];%[10p]b=[0.1350-0.135];%gain*[10-1]faskn=filter(b,a,askn);figure(2)subplot(321);plot(t,faskn);axis([0100e-6-22]);title('通过带通滤波后输出');gridon;cm=faskn.*car;%解调subplot(322);plot(t,cm);axis([0100e-6-22]);gridon;title('通过相乘器后输出');%低通滤波器%==================================================================p=0.72;gain1=0.14;%gain=(1-p)/2Hz1=gain1*(z+1)./(z-(p));subplot(323);Hz1(Hz1==0)=10^(-8);%avoidlog(0)plot(f,20*log10(abs(Hz1)));gridon;title('LPF-3dBresponse');axis([05e4-31]);%滤波器系数a1=[1-0.72];%(z-(p))b1=[0.140.14];%gain*[11]so=filter(b1,a1,cm);so=so*10;%addgainso=so-mean(so);%removesDCcomponentsubplot(324);
2016/5/8 20:09:29 589KB matlab PSK 调制与解调
1
嵌入式上位机操作,在matlabGUI界面下对硬件进行读写IO操作操作,应用plot对数据进行波形显示
2021/10/11 13:46:20 362KB 嵌入式 上位机 matlab
1
共有七个完整算法%1.基于聚类的RBF网设计算法%一维输入,一维输出,逼近效果很好!SamNum=100;%总样本数TestSamNum=101;%测试样本数InDim=1;%样本输入维数ClusterNum=10;%隐节点数,即聚类样本数Overlap=1.0;%隐节点重叠系数%根据目标函数获得样本输入输出rand('state',sum(100*clock))NoiseVar=0.1;Noise=NoiseVar*randn(1,SamNum);SamIn=8*rand(1,SamNum)-4;SamOutNoNoise=1.1*(1-SamIn+2*SamIn.^2).*exp(-SamIn.^2/2);SamOut=SamOutNoNoise+Noise;TestSamIn=-4:0.08:4;TestSamOut=1.1*(1-TestSamIn+2*TestSamIn.^2).*exp(-TestSamIn.^2/2);figureholdongridplot(SamIn,SamOut,'k+')plot(TestSamIn,TestSamOut,'r--')xlabel('Inputx');ylabel('Outputy');Centers=SamIn(:,1:ClusterNum);NumberInClusters=zeros(ClusterNum,1);%各类中的样本数,初始化为零IndexInClusters=zeros(ClusterNum,SamNum);%各类所含样本的索引号while1,NumberInClusters=zeros(ClusterNum,1);%各类中的样本数,初始化为零IndexInClusters=zeros(ClusterNum,SamNum);%各类所含样本的索引号%按最小距离原则对所有样本进行分类fori=1:SamNumAllDistance=dist(Centers',SamIn(:,i));[MinDist,Pos]=min(AllDistance);NumberInClusters(Pos)=NumberInClusters(Pos)+1;IndexInClusters(Pos,NumberInClusters(Pos))=i;end%保存旧的聚类中心OldCenters=Centers;fori=1:ClusterNumIndex=IndexInClusters(i,1:NumberInClusters(i));Centers(:,i)=mean(SamIn(:,Index)')';end%判断新旧聚类中心能否一致,是则结束聚类EqualNum=sum(sum(Centers==OldCenters));ifEqualNum==InDim*ClusterNum,break,endend%计算各隐节点的扩展常数(宽度)AllDistances=dist(Centers',Centers);%计算隐节点数据中心间的距离(矩阵)Maximum=max(max(AllDistances));%找出其中最大的一个距离fori=1:ClusterNum%将对角线上的0替换为较大的值AllDistances(i,i)=Maximum+1;endSpreads=Overlap*min(AllDistances)';%以隐节点间的最小距离作为扩展常数%计算各隐节点的输出权值Distance=dist(Centers',SamIn);%计算各样本输入离各数据中心的距离SpreadsMat=repmat(Spreads,1,SamNum);HiddenUnitOut=radbas(Distance./SpreadsMat);%计算隐节点输出阵HiddenUnitOutEx=[HiddenUnitOut'ones(SamNum,1)]';%考虑偏移W2Ex=SamOut*pinv(HiddenUnitOutEx);%求广义输出权值W2=W2Ex(:,1:ClusterNum);%输出权值B2=W2Ex(:,ClusterNum+1)
2017/4/12 3:58:08 8KB rbf算法源程序
1
三阶非线性零碎在simulink中相图绘制,每次改完初值,在matlab界面用plot命令和holdon命令
2018/9/4 21:06:32 38KB simulink
1
%PM调制figure('Name','信号调制进程中波形及其频谱','NumberTitle','off')a0=2;f0=10;fc=50;fs=1000;snr=5;t=linspace(-20,20,60001);pm1=cos(2*pi*f0*t);%信息信号t1=cos(2*pi*fc*t);%载波s_pm=cos(2*pi*fc*t+1*pm1);PM1=fft(pm1);T1=fft(t1);S_PM=fft(s_pm);f=(0:60000)*fs/60001-fs/2;subplot(3,2,1);plot(t(19801:20200),pm1(19801:20200));title('信息信号波形');
2019/6/3 6:16:14 2KB matlab
1
x=0:0.1:13;y1=cos(x);y2=cos(0.5*x);y3=cos(2*x);y4=cos(1.5*x);plot(x,y1,'c')holdonplot(x,y2,'b')holdonplot(x,y3,'y')holdonplot(x,y4,'g')holdonaxis([0,13,-1.2,1.2])title('OFDM包含四个载波的情况')xlabel('工夫')ylabel('幅度')
2016/2/16 23:27:33 270B ofdm 载波
1
声响信号的采集、加噪,再滤波[y,Fs,bits]=wavread('D:\q.wav');%读出信号,采样率和采样位数。
y=y(:,1);%取单声道作分析yl=length(y)%求语音信号长度yy=fft(y,yl);%傅里叶变换t=[0:1/8000:4zeros(1,yl-32001)]';m=0.07*sin(10000*pi*t);%产生噪声n=y+m;%加入噪声nl=length(n)%求语音信号长度nn=fft(n,nl);%傅里叶变换figure(1);subplot(2,1,1);plot(n);title('噪声信号波形')subplot(2,1,2);plot(y);title('原信号波形')figure(2);subplot(2,1,1);plot(abs(nn));title('噪声信号频谱');subplot(2,1,2);plot(abs(yy));title('原信号频谱');sound(n,fs)
2015/4/5 18:03:24 426KB matlab IIR滤波器 课程设计报告
1
看论文时,我们经常看到的散点图,既表达了数据的走势,也显示出了具体的数据点,是一种很好的数据处理方法。
Matlab用plot可以画图,但是想本人DIY设置散点图的参数,使用matlabR2017b自带的强大的工具箱(cftool)就方便多了。
这里面是博客中,散点图的试验数据。
2020/10/4 8:44:01 2KB 散点图
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡