CN110866376A - Automatic identification method of code and storage medium - Google Patents

Automatic identification method of code and storage medium Download PDF

Info

Publication number
CN110866376A
CN110866376A CN202010064483.7A CN202010064483A CN110866376A CN 110866376 A CN110866376 A CN 110866376A CN 202010064483 A CN202010064483 A CN 202010064483A CN 110866376 A CN110866376 A CN 110866376A
Authority
CN
China
Prior art keywords
signal
code
point
bar signal
length
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010064483.7A
Other languages
Chinese (zh)
Other versions
CN110866376B (en
Inventor
曾英夫
刘忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changsha Deep Pupil Mdt Infotech Ltd
Original Assignee
Changsha Deep Pupil Mdt Infotech Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changsha Deep Pupil Mdt Infotech Ltd filed Critical Changsha Deep Pupil Mdt Infotech Ltd
Priority to CN202010064483.7A priority Critical patent/CN110866376B/en
Publication of CN110866376A publication Critical patent/CN110866376A/en
Application granted granted Critical
Publication of CN110866376B publication Critical patent/CN110866376B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention discloses an automatic identification method of code and a storage medium, comprising the following steps of: according to the threshold value, the probability vector of the neural network is divided into 0 and 1 vectors; synthesizing a point bar signal: generating a point bar signal vector according to the length of the continuous two-way value of 1; automatically grouping the point bar signal vectors by adopting a dynamic programming algorithm to obtain a point bar signal vector group; the point bar signal vector groups are encoded against an encoding table. By adopting the steps, the optimal marshalling result can be generated under various factors of different rates, different habits of a transmitter and the like by adopting a dynamic programming algorithm (DP algorithm); compared with the traditional method that the data are directly grouped according to the interval length, the method has stronger stability and adaptability; the automatic coding of Morse telegraph codes in actual use is realized.

Description

Automatic identification method of code and storage medium
Technical Field
The invention belongs to the technology of automatic identification of code, in particular to an automatic identification method of code and a storage medium.
Background
The morse radio code voice signal is manually recognized by professionals trained for a long time nationwide due to the characteristics of high noise, unstable channel and the like. The basic working flow is that sound signals are heard, and simultaneously, the sound signals are translated into numbers in real time according to message types (long codes, short codes, character codes and the like) and recorded.
The manual identification has the limitations of high working strength, insufficient professional personnel and the like.
In the prior art, products with automatic identification and coding only exist in a simulator for training, and on-off signals are obtained and coded through a physically connected equal-amplitude telegraph transmitter (a circuit is pressed to be connected and a circuit is lifted to be disconnected). This technique cannot be applied in practice because the signal in real conditions is a sound signal after radio transmission.
The main difficulties of automatic coding are as follows:
1. the standard degree is different from the standard degree and is suitable for messages of different operators;
2. the speed is 60 to 120 codes/minute and is suitable for quick transmission of the electronic key;
3. different coding modes are required to be suitable, and the character codes can be used in different lengths.
A certain degree of auto-correction function needs to be implemented. Due to the characteristic of unstable radio signals, a small number of signals are missing in a group of codes, and automatic supplement can be performed according to conditions.
Disclosure of Invention
The invention provides an automatic identification method of code and a storage medium, which solves the problems that in the prior art, products with automatic identification and coding are obtained through a physically connected equal-amplitude telegraph transmitter, and on-off signals are obtained and coded, and the technology is convenient to be applied in practice.
The technical scheme adopted by the invention is as follows:
the automatic identification method of the code comprises the following steps:
s1, carrying out bidirection on signal probability vector threshold values: according to the threshold value, the probability vector of the neural network is divided into 0 and 1 vectors;
s2, synthesizing a point bar signal: generating a point bar signal vector according to the length of the continuous two-way value of 1;
s3, automatically grouping the point bar signal vectors by adopting a dynamic programming algorithm to obtain a point bar signal vector group;
and S4, coding the point bar signal vector group according to the coding table.
By adopting the steps, the optimal marshalling result can be generated under various factors of different rates, different habits of a transmitter and the like by adopting a dynamic programming algorithm (DP algorithm); compared with the traditional method that the data are directly grouped according to the interval length, the method has stronger stability and adaptability; the automatic coding of Morse telegraph codes in actual use is realized; the problem that in the prior art, products with automatic identification and coding exist, on-off signals are obtained and coded through a physically connected equal-amplitude newspaper sender, and the technology is convenient to apply in practice is solved.
Further, after step S3, automatic correction is performed, where the automatic correction is performed on an erroneous code group by using a preset rule and combining with the interval size, and one code group corresponds to one point bar signal vector group. Due to the characteristic of unstable radio signals, a small number of signals are missing in a group of codes, and the codes can be automatically supplemented according to conditions in the automatic identification process through correction and compiling of preset rules, so that the practicability of the method is improved.
Furthermore, the threshold value is 0.85-0.95;
further, filtering signal noise is performed while synthesizing the point bar signal in step S2.
Further, the length of the continuous two-way value 1 is that the continuous 1 points in the vectors of 0 and 1 are synthesized into a signal point, and the length information of the signal point is recorded, wherein the signal point with the length less than 2 is a signal noise point;
further, the method of generating the point bar signal vector according to the length of the continuous dichroic value 1 in step S2 is: according to the length of the signal point, according to the length L of the bar signal1And the length L of the dot signal2Satisfies 2.8L2<L1<3.2*L2Outputting a point bar signal vector;
further, the method of the dynamic programming algorithm is as follows: for each signal ciThere are only two cases:
(1) forming a code group with the previous non-grouped signal r;
(2) no code group is formed, and an ungrouped signal r is added;
and calling an available grouping mode through traversal, and selecting the selection with the highest score in two cases each time to form a final code group.
An automatic identification storage medium of an electronic code, the storage medium being loaded with a computer program which, when executed by a processor, implements the above automatic identification method of an electronic code.
The invention has the following advantages and beneficial effects:
1. the invention adopts a dynamic programming algorithm, namely a DP algorithm, to well solve the problem that the optimal marshalling result can be generated under various factors such as different rates and different habits of a reporter; compared with the traditional method that the data are directly grouped according to the interval length, the method has stronger stability and adaptability; the automatic coding of Morse telegraph codes in actual use is realized; the problem that in the prior art, products which are automatically identified and coded are provided, on-off signals are obtained and coded through a physically connected equal-amplitude newspaper sender, and the technology is convenient to apply in practice is solved;
2. according to the method, the correction and the compiling of the preset rules are adopted, so that automatic supplement can be performed according to conditions in the automatic identification process, and the practicability of the method is improved;
3. the invention is suitable for different coding modes, and can be used for long, short and character codes.
Drawings
The accompanying drawings, which are included to provide a further understanding of the embodiments of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the principles of the invention. In the drawings:
FIG. 1 is a flow chart of the method of the present invention.
Fig. 2 is a graph of the recognition result of a signal that was not successfully recognized when the present invention was implemented.
FIG. 3 is a graph of the result of the DP algorithm grouping the point bar signals when the present invention is implemented.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail below with reference to examples and accompanying drawings, and the exemplary embodiments and descriptions thereof are only used for explaining the present invention and are not meant to limit the present invention.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments of the invention. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises," "comprising," "includes," and/or "including," when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, numbers, steps, operations, elements, components, and/or groups thereof.
Example 1:
as shown in fig. 1, the present embodiment provides an automatic identification method of a code, including the following steps:
s1, carrying out bidirection on signal probability vector threshold values: according to the threshold value, the probability vector of the neural network is divided into 0 and 1 vectors;
s2, synthesizing a point bar signal: generating a point bar signal vector according to the length of the continuous two-way value of 1;
s3, automatically grouping the point bar signal vectors by using a dynamic programming algorithm to obtain a point bar signal vector group;
and S4, coding the point bar signal vector group according to the coding table.
The probability vector of the neural network is obtained in the automatic Morse code identification process based on the Bi-LSTM neural network, and the specific method comprises the following steps:
constructing a convolutional neural network and a Bi-LSTM neural network, and performing sequence modeling by combining the Bi-LSTM neural network and the convolutional neural network to generate a multimode LSTM model;
training the multimode LSTM model by adopting a joint training mode, and performing joint optimization on parameters of the Bi-LSTM neural network and the convolutional neural network;
acquiring Morse code audio signals, and preprocessing the Morse code audio signals to obtain preprocessed audio signals;
analyzing and converting the preprocessed audio signal to generate a frequency spectrum image of the audio signal;
inputting the frequency spectrum image into a multimode LSTM model, and outputting a probability vector result;
preferably, after step S3, an automatic correction is performed, which automatically corrects the error code group by a preset rule in combination with the interval size. Through a large amount of first-line operator feedback and message coding rules, the algorithm designs a series of conditions suitable for correction. Wherein the interval of the combined interval size represents the interval between the missing code length and the two code groups corresponding to the default code length in the preset rule, and the length L of the bar signal1And the length L of the dot signal2Satisfies 2.8L2<L1<3.2*L2The condition of the click bar signal vector is output. In the specific implementation, for example, in the case of short codes, "dot-dot" directly encodes errors, and the output is 5 after automatic correction in combination with the size of the interval. As shown in fig. 2, in the upper box, the neural network outputs 4 "point" signals, one of which fails to be successfully identified. According to Morse coding rules, both "point dots" and a single "dot" are incorrect code groups; however, in the automatic correction, there is a rule that "dot-dot null point" is set in advance and corrected to 5, and therefore the number 5 is directly output instead of the coding error signal.
Preferably, the threshold value is 0.85-0.95; in specific implementation, the Threshold value (Threshold) is determined according to user selection, the Threshold value is preset to be 0.85, and the user can set and change the Threshold value.
Preferably, the point bar signal is synthesized in step S2 while filtering signal noise. In specific implementation, the length of the continuous two-way value 1 is to combine the continuous 1 points in the vectors of 0 and 1 into one signal point and record the length information of the signal point, wherein the signal point with the length less than 2 is a signal noise point.
In specific implementation, the method for generating the point bar signal vector according to the length of the continuous binary value 1 in step S2 is as follows: according to the length of the signal point, according to the length L of the bar signal1And pointLength L of signal2Satisfies 2.8L2<L1<3.2*L2And outputting the dot bar signal vector.
The priority of the dynamic programming algorithm, DP algorithm, is as follows:
1) the interval between each group of the groups is uniform.
2) And successfully compiling after grouping.
3) The large groups are evenly spaced.
By adopting the DP algorithm, the optimal marshalling result can be generated under various factors of different rates, different habits of the newspaper senders and the like. Compared with the traditional method that the data are directly grouped according to the interval length, the method has stronger stability and adaptability.
The basic idea of the DP algorithm is to divide a more complex problem into several smaller local problems according to stages, and then to make a series of decisions in turn according to the recursion relationship of the local problems until the whole problem reaches the overall optimal target.
When in specific implementation, theC=[c1,c2,...,ci,...,cn](n =1,2, 3.) is the input point bar vector, where ciThe ith point bar signal point, the interval length between the two signals isg(ci,ci+1)。
The point-bar code table is represented by D
To pairCArbitrary continuous subvectors ofCs = [cj,...,ck]There are the following two evaluation functions
Figure 901226DEST_PATH_IMAGE001
isCorrect(Cs) Function judgmentCsWhether the marshalling can be correctly performed;
Gap(Cs) Whether the distance between code groups is uniform
Score(Cs) C is visually expressed as a decision for weighting the evaluation functionjTo ckThe quality degree of the classification into a group. The specific evaluation criteria are
Figure 349525DEST_PATH_IMAGE002
When the method is implemented specifically, the dynamic programming algorithm comprises the following specific steps:
Figure 506093DEST_PATH_IMAGE003
the dynamic programming algorithm, DP algorithm input, is interpreted as follows:
i is the ith signal of the point bar signal vector, and i is a positive integer from 1 to n;
C[i+1:n]are subvectors of the point-bar vector, from i +1 to n;
r is a group of point-bar signals which have not been grouped before i;
the basic idea of the DP algorithm is to apply to each signal ciThere are only two cases:
(1) forming a code group with the previous non-grouped signal r;
(2) no code group is formed, and an ungrouped signal r is added;
the available grouping mode is called through traversal, and the selection with the highest score in the two cases is selected at each time to form the final code group. The Score corresponds to the Score function in the formula, with a numerical representation for each grouping case.
As shown in FIG. 3, the DP algorithm groups the dot bar signals of the second row to result in the dot bar signals of the vertical lines in the upper box.
In specific implementation, the encoding is performed through a pre-recorded encoding table. For example, in the case where the encoding method is short code, the packet vector whose grouping result is "dot bar point" is compiled to "1490" with reference to the corresponding value of the international general telegraph code table.
Example 2
An automatic identification storage medium for electronic code, characterized in that the storage medium is loaded with a computer program, which when executed by a processor implements the automatic identification method for electronic code according to embodiment 1.
In conclusion, the invention adopts a dynamic programming algorithm, namely a DP algorithm, to well solve the problem that the optimal marshalling result can be generated under various factors such as different rates, different habits of a reporter and the like; compared with the traditional method that the data are directly grouped according to the interval length, the method has stronger stability and adaptability; the automatic coding of Morse telegraph codes in actual use is realized; the problem that in the prior art, products with automatic identification and coding exist, on-off signals are obtained and coded through a physically connected equal-amplitude newspaper sender, and the technology is convenient to apply in practice is solved.
The above-mentioned embodiments are intended to illustrate the objects, technical solutions and advantages of the present invention in further detail, and it should be understood that the above-mentioned embodiments are merely exemplary embodiments of the present invention, and are not intended to limit the scope of the present invention, and any modifications, equivalent substitutions, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (8)

1. The automatic identification method of the code is characterized by comprising the following steps:
s1, carrying out bidirection on signal probability vector threshold values: according to the threshold value, the probability vector of the neural network is divided into 0 and 1 vectors;
s2, synthesizing a point bar signal: generating a point bar signal vector according to the length of the continuous two-way value of 1;
s3, automatically grouping the point bar signal vectors by using a dynamic programming algorithm to obtain a point bar signal vector group;
and S4, coding the point bar signal vector group according to the coding table.
2. The method for automatically identifying an electronic code according to claim 1, wherein after step S3, an automatic correction is performed, wherein the automatic correction is performed on an erroneous code group by using a preset rule in combination with the size of the space; one of the code groups corresponds to one of the point bar signal vector groups.
3. The automatic identification method of the code according to claim 1, wherein the threshold value is 0.85-0.95.
4. The automatic identification method of an electronic code according to claim 1, wherein the noise signal is filtered while the point bar signal is synthesized in step S2.
5. The automatic identification method of the code according to claim 4, wherein the length of the continuous binary value 1 is a signal point obtained by combining continuous points of 1 in vectors of 0 and 1, and the signal point length information is recorded, wherein the signal point with the length less than 2 is a signal noise point.
6. The automatic identification method of code according to claim 1, wherein the method of generating the point bar signal vector according to the length of the continuous binary value of 1 in step S2 is: according to the length of the signal point, according to the length L of the bar signal1And the length L of the dot signal2Satisfies 2.8L2<L1<3.2*L2And outputting the dot bar signal vector.
7. The automatic identification method of code according to claim 1, characterized in that said dynamic programming algorithm is a method comprising: for each signal ciThere are only two cases:
(1) forming a code group with the previous non-grouped signal r;
(2) no code group is formed, and an ungrouped signal r is added;
and calling an available grouping mode through traversal, and selecting the selection with the highest score in two cases each time to form a final code group.
8. An automatic identification storage medium for electronic codes, characterized in that the storage medium is loaded with a computer program which, when executed by a processor, implements the method of automatic identification of electronic codes according to any one of claims 1 to 7.
CN202010064483.7A 2020-01-20 2020-01-20 Automatic identification method of code and storage medium Active CN110866376B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010064483.7A CN110866376B (en) 2020-01-20 2020-01-20 Automatic identification method of code and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010064483.7A CN110866376B (en) 2020-01-20 2020-01-20 Automatic identification method of code and storage medium

Publications (2)

Publication Number Publication Date
CN110866376A true CN110866376A (en) 2020-03-06
CN110866376B CN110866376B (en) 2020-04-21

Family

ID=69660086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010064483.7A Active CN110866376B (en) 2020-01-20 2020-01-20 Automatic identification method of code and storage medium

Country Status (1)

Country Link
CN (1) CN110866376B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113066509A (en) * 2021-03-18 2021-07-02 芝麻云信(武汉)科技有限公司 Dot-and-dash signal identification method, dot-and-dash signal identification system, electronic device and computer storage medium
CN115719059A (en) * 2022-11-29 2023-02-28 北京中科智加科技有限公司 Morse packet error correction method
CN117421540A (en) * 2023-12-19 2024-01-19 北京中电慧声科技有限公司 Automatic Morse code identification method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414663A (en) * 2013-04-22 2013-11-27 昆明理工大学 Morse signal self-adaptive recognition method based on backtracking
CN106650605A (en) * 2016-10-20 2017-05-10 北京工业大学 Morse signal automatic detection decoding method based on machine learning
US10249216B1 (en) * 2018-01-12 2019-04-02 The CW Operators' Club System and use method for a Morse code training tool
CN109861932A (en) * 2019-02-15 2019-06-07 中国人民解放军战略支援部队信息工程大学 A kind of shortwave Morse's message automatic identifying method based on intelligent image analysis
CN110011942A (en) * 2019-02-15 2019-07-12 中国人民解放军战略支援部队信息工程大学 Morse's message intelligent measurement recognition methods based on deep learning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414663A (en) * 2013-04-22 2013-11-27 昆明理工大学 Morse signal self-adaptive recognition method based on backtracking
CN106650605A (en) * 2016-10-20 2017-05-10 北京工业大学 Morse signal automatic detection decoding method based on machine learning
US10249216B1 (en) * 2018-01-12 2019-04-02 The CW Operators' Club System and use method for a Morse code training tool
CN109861932A (en) * 2019-02-15 2019-06-07 中国人民解放军战略支援部队信息工程大学 A kind of shortwave Morse's message automatic identifying method based on intelligent image analysis
CN110011942A (en) * 2019-02-15 2019-07-12 中国人民解放军战略支援部队信息工程大学 Morse's message intelligent measurement recognition methods based on deep learning

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHING-HSING LUO等: "Online Morse code automatic recognition with neural network system", 《2001 CONFERENCE PROCEEDINGS OF THE 23RD ANNUAL INTERNATIONAL CONFERENCE OF THE IEEE ENGINEERING IN MEDICINE AND BIOLOGY SOCIETY》 *
孙中华等: "宽带环境下摩尔斯信号的快速检测与识别", 《第十一届全国信号和智能信息处理与应用学术会议》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113066509A (en) * 2021-03-18 2021-07-02 芝麻云信(武汉)科技有限公司 Dot-and-dash signal identification method, dot-and-dash signal identification system, electronic device and computer storage medium
CN115719059A (en) * 2022-11-29 2023-02-28 北京中科智加科技有限公司 Morse packet error correction method
CN115719059B (en) * 2022-11-29 2023-08-08 北京中科智加科技有限公司 Morse grouping error correction method
CN117421540A (en) * 2023-12-19 2024-01-19 北京中电慧声科技有限公司 Automatic Morse code identification method and device

Also Published As

Publication number Publication date
CN110866376B (en) 2020-04-21

Similar Documents

Publication Publication Date Title
CN110866376B (en) Automatic identification method of code and storage medium
Weissman Capacity of channels with action-dependent states
CN111935042B (en) Probability shaping recognition system and method based on machine learning and receiving end
CN111191767A (en) Vectorization-based malicious traffic attack type judgment method
CN110176237A (en) A kind of audio recognition method and device
CN1272727A (en) High-speed upstream modem communication
CN116506073A (en) Industrial computer platform data rapid transmission method and system
US20230040143A1 (en) Quality score compression
CN115529357B (en) Updating abnormity matching method based on MES intercommunication interconnection production data
CN116155393B (en) Geometric-probability forming optical signal generation method based on automatic encoder
CN1902849B (en) Apparatus and method for transmitting or receiving data
CN111539199A (en) Text error correction method, device, terminal and storage medium
CN111079665A (en) Morse code automatic identification method based on Bi-LSTM neural network
CN110808828A (en) Multi-matrix self-adaptive decoding device and method for quantum key distribution
DE60202115T2 (en) Method for blind detection of transport format
EP1058432B1 (en) A low disparity coding method for digital data
WO2005096537A1 (en) Device and method for judging communication quality and program used for the judgment
CN109902313A (en) A kind of interpretation method and device, the training method of translation model and device
CN100359833C (en) Method and arrangement for providing optimal bit protection against transmission errors
CN112104863A (en) Method and related device for training video quality evaluation model and evaluating video quality
CN113076038B (en) Intelligent data interaction method based on parent-child education
CN113507467B (en) Block chain-based hidden information transmission system and method
CN109785849B (en) Method for inserting unidirectional control information into pcm audio stream based on iis transmission
CN101490742A (en) Method and system for reducing reception of unwanted messages
EP1734710A1 (en) Device and method for generating a base band signal and program causing computer to execute the method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant