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
CSerialPortFirstVersionbyRemonSpekreijseon2000-02-08http://www.codeguru.com/cpp/i-n/network/serialcommunications/article.php/c2483/A-communication-class-for-serial-port.htmSecondVersionbymrlongon2007-12-25https://code.google.com/p/mycom/增加ClosePort增加WriteToPort两个方法增加SendData与RecvData方法byliquanhaion2011-11-04http://blog.csdn.net/liquanhai/article/details/4955253增加ClosePort中交出控制权,防止死锁问题byliquanhaion2011-11-06http://blog.csdn.net/liquanhai/article/details/6941574增加ReceiveChar中防止线程死锁byviruscampon2013-12-04https://github.com/viruscamp/CSerialPort增加IsOpen判断能否打开修正InitPort中parityOddEven参数取值错误修改InitPort中portnr取值范围,portnr>9时特殊处理取消对MFC的依赖,使用HWND替代CWnd,使用win32thread函数而不是MFC的增加用户消息编号自定义,方法来自CnCommbyitas109on2014-01-10http://blog.csdn.net/itas109/article/details/18358297解决COM10以上端口无法显示的问题扩展可选择端口,最大值MaxSerialPortNum可以自定义添加QueryKey()和Hkey2ComboBox两个方法,用于自动查询当前有效的串口号。
byliquanhaion2014-12-18增加一些处理措施,主要是对减少CPU占用率byitas109on2016-05-07http://blog.csdn.net/itas109修复每次打开串口发送一次,当串口无应答时,需要关闭再打开或者接收完数据才能发送的问题。
解决办法:在m_hEventArray中调整m_hWriteEvent的优先级高于读的优先级。
CommThread(LPVOIDpParam)函数中读写的位置也调换。
参考:http://zhidao.baidu.com/link?url=RSrbPcfTZRULFFd2ziHZPBwnoXv1iCSu_Nmycb_yEw1mklT8gkoNZAkWpl3UDhk8L35DtRPo5VV5kEGpOx-Gea修复停止位在头文件中定义成1导致SetCommState报错的问题,应为1对应的停止位是1.5。
UINTstopsbits=ONESTOPBITswitch(stopbits)和switch(parity)增加默认情况,增强程序健壮性byitas109on2016-06-22http://blog.csdn.net/itas109增加ReceiveStr方法,用于接收字符串(接收缓冲区有多少字符就接收多少字符)。
解决ReceiveChar只能接收单个字符的问题。
byitas109on2016-06-29http://blog.csdn.net/itas109解决RestartMonitoring方法和StopMonitoring方法命令不准确引起的歧义,根据实际作用。
将RestartMonitoring更改为ResumeMonitoring,将StopMonitoring更改为SuspendMonitoring。
增加IsThreadSuspend方法,用于判断线程能否挂起。
改进ClosePort方法,增加线程挂起判断,解决由于线程挂起导致串口关闭死锁的问题。
增加IsReceiveString宏定义,用于接收时采用单字节接收还是多字节接收byitas109on2016-08-02http://blog.csdn.net/itas109https://github.com/itas109改进IsOpen方法,m_hComm增加INVALID_HANDLE_VALUE的情况,因为CreateFile
2021/9/12 2:07:30 19KB CSerialPort 串口类 串口
1
注意:不是编程练习!不是编程练习!不是编程练习!重要的事情说三遍。
本资源是coursera机器学习每周每课时(2--11周)的测验题目,包括每节课都有暂停之后的小练习,都是自己截图下来的,是纯英文版的,部分图片里面我个人用FastStone添加了个人理解解题思路,如有问题可以一起交流。
coursera机器学习的题目还是很经典的,切中要害,对于复习巩固学过的知识具有莫大的协助。
2015/11/21 4:56:46 9.43MB 机器学习
1
机载激光雷达测量零碎GalaxyT10002017-11-02_Optech_Galaxy-Brochure_HR
2016/1/21 10:27:50 3.43MB 激光雷达
1
OracleJDBC驱动
2020/11/27 7:21:24 2.46MB oracle jdbc java jar
1
高等教育出版社出版,王珊编写的《数据库零碎简明教程》1-11章的习题及参考答案
2022/9/21 17:54:30 391KB 数据库 答案
1
@property(assign,nonatomic)UIEdgeInsetsedgeInsets;/**[self.labeldc_SetText:@"2019-11-0610:29:11.761049+0800OCDemol[9313:283391][framework]CUIThemeStore:Nothemeregisteredwithid=0"lineSpacing:20];设置label行间距@paramtext文本@paramlineSpacing行间距*/-(void)fhxSetText:(NSSt
2020/1/27 8:22:25 5.16MB OC 工具类 封装 Extension
1
├─(41)6-1合约实战-简单代币开发.mp4├─(42)6-10DAPP实战-页面编写.mp4├─(43)6-11DAPP实战-UI如何与智能合约交互引见.mp4├─(44)6-12DAPP实战-应用中初始化Web3及合约.mp4├─(45)6-13DAPP实战-实现合约交互.mp4├─(46)6-2合约实战-实现标准代币接口.mp4├─(47)6-3合约实战-实现标准代币实现.mp4├─(48)6-4DAPP实战-应用引见及前置知识.mp4├─(49)6-5DAPP实战-使用truffle创建项目.mp4├─(50)
2017/11/17 22:39:44 926.14MB 区块链 底层应用开发
1
Navicatfororacle、PL/SQL都可以运用这个插件。
instantclient-basic-win-x86-64-11.2.0.1.0,instantclient-sqlplus-windows.x64-11.2.0.4.0,解压合并到一个文件夹中。
2021/10/18 2:50:40 52.03MB Navicat sqlplus instanclinet PL/SQL
1
javafxGUI构建神器,请运用jdk11+
2019/1/16 16:54:08 83.06MB javafx javagui
1
共 219 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡