⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cordic.txt

📁 使用CORDIC算法求算反正切值
💻 TXT
字号:
void CMonitorDlg::identify()
{   using namespace std;
	int i=0;
   ifstream cc;
	cc.open("id.txt");
	while(i<160)
	{
	cc>>id[i];
    i++;
	}
	cc.close();//id 采样模拟数据输入
	i=0;
	cc.open("idnoise.txt");
	while(i<160)
	{
    cc>>idnoise[i];
    i++;
	}//id噪声模拟数据输入
    i=0;
	while(i<160)
	{
		id[i]=id[i]+idnoise[i];
		i++;
	}//噪声与采样数据叠加
	i=0;
	double key=0;
	while(i<160)
	{
		key=key+id[i]/160;
		i++;
	}//阀门值的确定
	i=0;
	while(i<160)
	{
		if(id[i]<key)
			id[i]=0;
			else
			id[i]=1;
			i++;
	}//对采样数据的判决,小于阀门值为0,反之为1。
	int j=4;
	int start=0;
	while(start==0)//有效数据起始位置
	{
	if(id[j-4]==0&&id[j-3]==0&&id[j-2]==0&&id[j-1]==0&&id[j]==1)
	{
		start=j;
	}
	j++;
	}
	int k=4;
	int end=0;
    while(end==0)//有效数据截至位置
	{
	if(id[k+4]==0&&id[k+3]==0&&id[k+2]==0&&id[k+1]==0&&id[k]==1)
	{
		end=k;
	}
	k++;
	}
	//码对准,判断接受的MORSE码与实际应该发送的码的相似程度
	int l=0;
	int flag=0;
	double idreal[29]={1,0,1,1,1,0,0,0,1,1,1,0,1,0,1,0,1,0,0,0,1,1,1,0,1,0,1,1,1};//假设发射的MORSE码为ABC,其有效位应为29,若是其他字母,应作相应调整。
	while (l<29)
	{
	if(idreal[l]==id[start+l])
	{
		flag++;
	}
	l++;
	}
	//码对准判决,
    if(flag==29)//此处可以设门限,确定要求的相似程度
	{m_7="abc";
	}
    else
	{
		m_7="ERROR";
	}
	UpdateData(FALSE);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -